Zeilenumbrüche in einer Variable modifizieren

Hallo,
Ich versuche, einen längeren Text, gespeichert in einer Variable, zu bearbeiten, indem ich jedes Wort ausschneide und analysiere (z.B. auf Länge).
Das klappt eigentlich ganz gut - hier der Quellcode:

$text = str_replace(" „,“_",$text);
$arr = split("_",$text);
foreach($arr as $word){
$length_word = strlen($word);
echo " „;
echo $word . "
„;
echo „Länge dieses Wortes:“;
echo $length_word;
echo " „;
}
$text = str_replace(“_“,“ ",$text);

Nun habe ich aber das Problem, dass Zeilenumbrüche nicht mit einberechnet werden.
Bei einem Wort, dem kein Zeilenumbruch folgt, gibt das Script folgendes aus:

WORT
Länge des Textes:4

Wenn allerdings nach WORT ein Zeilenumbruch (br) folgt, wird logischerweise folgendes ausgegeben:

WORT
FOLGENDESWORT
Länge des Textes:21

Kann mir jemand eine kleine Funktion schreiben, die Zeilenumbrüche mit einberechnet, oder mir sagen, wie ich das machen kann? :smile:

mfg Mondmann

Weiß nicht, obs funktioniert: Suche einfach auch nach Zeilenumbrüchen: Ich glaub mit Alt+010 bekommst du ihn.
Siehe: www.asciitable.com

Hallo Mondmann,

du koenntest allgemein HTML-Tags entfernen.
strip_tags() http://de3.php.net/manual/de/function.strip-tags.php

Alternativ mit str_replace vor dem Analysieren alle
durch Leerzeichen ersetzen.

Gruss
Stefan

Hallo,

Hallo,
Ich versuche, einen längeren Text, gespeichert in einer
Variable, zu bearbeiten, indem ich jedes Wort ausschneide und
analysiere (z.B. auf Länge).
Das klappt eigentlich ganz gut - hier der Quellcode:

$original = $text;
$text = str_replace(Array(" „,“\n","\r"),"_",$text);

(falls es dann „leere“ Wörter gibt (aufeinanderfolgende Whitespaces), zusätzlich

$text = preg_replace("/_+/", „_“, $text);

)

$arr = split("_",$text);
foreach($arr as $word){
$length_word = strlen($word);
echo " ";
echo $word . "
";
echo „Länge dieses Wortes:“;
echo $length_word;
echo " ";
}

$text = $original;

Alexander