\n-Zeilenumbrüche aus string rauswerfen
Fabian Transchel
- php
Hallo Leute,
ich bin beim Programmieren eines Forums auf folgendes Problem gestoßen:
Ich bekomme einen String $text per POST zugeschickt, den ich dann weiterverwenden möchte, die anderen stings wie $name, $mail und so, die für ein forum ausserdem notwendig sind, sind ja alle einzeilig.
Also ich verwende dann die funktion nl2br();
um die \n in <br> unzuwandeln, aber der string enthält nach der operation beides, etwa so: text\n<br />nochmaltext\n<br />nochnbisschentext
wie bekomme ich die \n daraus ???
könnte das an meiner PHP-konfiguration liegen?
Thx im Vorraus,
Fabian
Hallo,
Ich bekomme einen String $text per POST zugeschickt, den ich dann weiterverwenden möchte, die anderen stings wie $name, $mail und so, die für ein forum ausserdem notwendig sind, sind ja alle einzeilig.
Also ich verwende dann die funktion nl2br();
um die \n in <br> unzuwandeln, aber der string enthält nach der operation beides, etwa so: text\n<br />nochmaltext\n<br />nochnbisschentext
wie bekomme ich die \n daraus ???
Alternative:
$text=str_replace("\n","<br>",$text);
MfG, Thomas
Hallo Fabian,
nl2br() ist nicht ganz perfekt und bereitet ab und zu etwas Probleme (glaube auch bei anderen Plattformen. Nutze lieber:
$value = preg_replace('!\015\012|\015|\012!','<br />',$value);
Grüße aus Würzburg
Julian
Hallo, Fabian,
Also ich verwende dann die funktion nl2br();
um die \n in <br> unzuwandeln, aber der string
enthält nach der operation beides, etwa so:
text\n<br />nochmaltext\n<br />nochnbisschentext
wie bekomme ich die \n daraus ???
So ganz verstehe ich das nicht, aber vielleicht hängt es irgendwie damit zusammen, daß die verschiedenen Betriebssysteme unterschiedliche Zeichen oder Zeichenkombinationen für einen Zeilenumbruch benutzen:
Macintosh: \r
Unix : \n
Windows : \r\n
Schau doch auch mal bei den Nutzerkommentaren zu nl2br auf php.net:
http://www.php.net/manual/en/function.nl2br.php
Falls Du dort keine Lösung findest, versuchst Du es vielleicht einmal mit Regulären Ausdrücken zum Suchen und Ersetzen:
http://www.php.net/manual/en/function.preg-replace.php
Grüße,
Sebastian