nl2br() Frager

Samson1802

Mitglied
Hallo,

ich habe mal Folgende frage zur nl2br() funktion.

Und zwar habe ich mir ein Userprofil erstellt, Es gibt dort eine Textarea wo man sich selbst beschreiben kann.

Jetzt möchte ich natürlich anbiten das man mehrzeilig (also in absätzen) schreiben kann, das klappt auch wunderbar. Wenn man aber jetzt den Text wieder ändern möchte stehen in der textarea diese <br>'s.

Das ist für mich kein Problem nur wenn sich User damit nicht auskennen wird es evtl. zu Fehlern kommen.

Gibt es da evtl. eine Möglichkeit das aus den Textfeld zu filtern? Aber trotzdem noch übernommen werden?
 
Das sollte gehen.
PHP:
$text = "ich bin ein<br> testtext.<br><br>ich bin ein<br> testtext.";
echo $text;

$text = str_replace("<br>","\n",$text);
$text = str_replace("<br />","\n",$text);

echo "<hr>";
echo $text;
 
Jag den String nur bei der Ausgabe durch nl2br() und nicht bevor Du ihn in die DB schreibst, so kannst Du Dir das filtern sparen.
 
fanste hat gesagt.:
Das sollte gehen.
PHP:
$text = "ich bin ein<br> testtext.<br><br>ich bin ein<br> testtext.";
echo $text;

$text = str_replace("<br>","\n",$text);
$text = str_replace("<br />","\n",$text);

echo "<hr>";
echo $text;

Danke ich habe mich dafür entschieden. Habe es nur ein wenig geändert da nun mehre Leereilen war habe ich das noch bissel umgeschrieben:

$text = str_replace("<br>","",$text);

Somit steht dann gar nichts in dem textfeld.

Besten dank für die Hilfe von euch beiden
 
Wenn du das \n weglässt, sind gar keine Zeilenumbrüche mehr vorhanden.
Wenn der User also
Code:
ich bin ein
testtext.
eingibt, wird daraus
Code:
ich bin ein testtext.

Das \n hat also schon seine Richtigkeit.

Zudem muss man auch sagen, dass Dennis' Idee nicht verkehrt ist. Ob du jetzt die <br> filterst, oder erst bei der Ausgabe den Text durch nl2br() jagst, macht eigentlich keinen unterschied. Hast nur etwas weniger Arbeit.
 
Hallo,

fanste hat gesagt.:
Wenn du das \n weglässt, sind gar keine Zeilenumbrüche mehr vorhanden.
Nein, das ist so nicht richtig. [phpf]nl2br[/phpf] setzt nämlich nur ein <br /> vor jeden Zeilenumbruch, lässt den Zeilenumbruch selbst allerdings bestehen.

Grüße,
Matthias
 
Zurück