Hallo,
Danke euch für die Antworten, wusste nicht dass \r\n nur auf Windows systemen funktionieren, (es sind doch die Client-Rechner gemeint?
Im allgemeinen kann man alles mögliche als Zeilenumbruch bekommen (weil da Browser oder irgendwelche Zwischenschichten oder weiß der Teufel was noch damit rumfummelt), ich empfehle daher wie gesagt den kompletten Text per Regexp (siehe mein anderes Posting) in ein eiheitliches Format zu konvertieren und dann damit weiterzuarbeiten.
Habe jetzt auf der Schnelle mal improvisiert, werde das aber noch in trockene Tücher bringen.
$i = 0;
$offset=0;
While (strpos($text,"\r\n", $offset)>0){
$i = $i + 1;
$offset = strpos($text, "\r\n", $offset)+1;
}if ($i > 1){
$helpvar = split("\r\n", $text);
$text = $helpvar[0] . "<br />" . $helpvar[1];
}
Bitte *was* machst Du da? Erst ein nachprogrammiertes "poor man's substr_count()" (das nichtmal 100%ig korrekt ist, übrigens) und dann gibst Du die ersten beiden Zeilen mit <br> getrennt aus? Das geht doch *viel* einfacher:
// alles durch \n ersetzen
$text = preg_replace ("/\r\n|\r|\n/", "\n", $text);
if (substr_count ($text, "\n") > 1) {
$lines = explode ("\n", $text, 3);
echo $lines[0]."<br />\n".$lines[1];
}
Oder, wenn Du einfach *alle* Zeilenumbrüche durch <br /> ersetzen willst, gibt's doch nl2br(), da brauchst Du doch nichts selbst implementieren...
echo nl2br ($text);
Mir ist wirklich nicht ganz klar, was für ein Problem Du mit dem obigen Code lösen willst...
Viele Grüße,
Christian