Stringzerlegung - Problem mit Zeilenumbrüchen

Hi zusammen,
Ich versuche z.Z., einen Text ($lyrics) zu zerlegen und anschließend jedes einzelne Wort zu verlinken (im unteren Beispiel auf Google - eigentlich brauch ichs aber zur Verlinkung auf ein Onlinewörterbuch…). Bislang habe ich das immer mit der split-Funktion gemacht, aber bei Zeilenumbrüchen (
) wird naürlich dann das Wort vor- und das Wort nach dem Zeilenumbruch als String genommen und verlinkt. Ich könnte jetzt natürlich die Zeilenumbrüche ebenfalls durch Unerstriche ersetzen, aber dann hätte mein Text am Ende ja keine Umbrüche mehr. :wink:
Meine Frage ist also: Wie kann ich den String so manipulieren, dass Zeilenumbrüche mit gesplittet werden, aber am Ende des Scripts (bei der Ausgabe) trotzdem noch da sind?
Ich komme einfach auf keine Lösung - weiß jemand von euch weiter?

$lyrics = str_replace("\r\n", "
„, $lyrics);
$lyrics = str_replace(“ „, „_“, $lyrics);
$arr = split(“_", $lyrics);
foreach ($arr as $value) { echo „$value“; }

mfg Mondmann

Hi zusammen,

Hallo!

Ohne Lange reden:
Die Lösung heisst „preg_split()“

Hier von der offiziellen www.php.net Seite:
http://de3.php.net/manual/de/function.preg-split.php

Beispiel 1542. preg\_split() Beispiel: Eine Zeichenkette in ihre Bestandteile zerlegen 
<?php // zerlegt die Zeichenkette an Stellen mit beliebiger Anzahl von<br />// Kommata oder Leerzeichen, die " ", \r, \t, \n und \f umfassen
$schluesselwoerter = preg\_split("/[\s,]+/", "hypertext language, programming");
?\>

Damit hast du in $schluesselwoerter alle worte einzeln; egal was dazwischen ist und dein Ursprungstext bleibt unangetastet. (Übrigens macht nl2br() besser
*g*)

Hoffe das war’s, was gesucht war!

grüßle
Geisterkarle

Hoffe das war’s, was gesucht war!

Das war genau das Richtige - vielen Dank! :smile: