"nl2br" umkehren?

x0x

Erfahrenes Mitglied
Hallo,

ich arbeite grad sehr fleißig an dem Programmieren eines Boards. Das klappt auch wunderbar bisher. Jedoch habe ich jetzt ein Problem:

Ich erstelle beispielsweise Beiträge per Formular und überarbeite dann den geschriebenen Text mit "$text2 = nl2br($text)," um die Zeilenumbrüche des Formularfeldes dann automatisch zu übernehmen.

Beim auslesen funktioniert das auch alles einwandfrei. Ich möchte jetzt allerding eine Edit-Funktion schreiben, bei der man auch eben diesen überarbeiteten Text editieren kann. Allerdings zeigt er jetzt die Zeilenumbrüche als "<br />" an, so wie sie auch in der Datenbank stehen. Für einen der mit HTML aber nix am Hut hat ist das sehr verwirrend. Wie bekomme ich also nun das br wieder raus?

Wie mache ich das am besten?
Danke im Vorraus für die Antworten!

Gruß Ruben
 
Arbeite doch mit [phpf]str_replace[/phpf] und lass <br> in \n o.ä umwandeln.

PHP:
str_replace("<br>", "\n", $deintext)
 
Ok hab ich gemacht, funktioniert auch wunderbar, allerdings macht er statt 2 <br> 4. Also er stellt es als 4 Zeilenumbrüche dar.

Wenn man den Test weiter druchführt, kommt man zu folgendem Schluss.
Er macht immer doppelt soviele Umbrüche als eigentlich dastehen.
 
Also die Ausgabe ist die hier:

Code:
<?php
$inhalt = str_replace("<br />", "\n", $result[inhalt]);
echo "$inhalt";
?>

Der Inhalt ist allerdings in der Datenbank von nl2br bearbeitet. Danach erst das ganze zu parsen will ich jetzt nicht mehr, da ich schon alles so geschrieben hab.
 
Folgende Funktion sollte funktionieren:
PHP:
<?php
  function br2nl($str="") {
    return str_replace(nl2br(chr(13)), chr(13), $str);
  }
  echo br2nl(nl2br("Test
Umbruch

Umbruch"));
?>
 
Wie soll ich diese Funktion einbauen?

In Inhalt ist der zuvor nl2br eintrag aus der DB.

Ich verstehe nicht worauf du dabei hinaus willst.

Code:
<?php
  function br2nl($str="") {
    return str_replace(nl2br(chr(13)), chr(13), $str);
  }
  echo br2nl(nl2br($result[inhalt]));
?>
gibt Folgendes aus:
Test<br />
Umbruch<br />
<br />
2Umbruch

in $result[inhalt] steht:
Test<br />
Umbruch<br />
<br />
2Umbruch
 
Zuletzt bearbeitet:
Zurück