PHP: Zeilenumbrüche entfernen



  • Hallo zusammen,
    ich habe einen string aus einem Eingabefeld und möchte diesen nun als html-Code
    in einer Zeile speichern ("\n" soll zu "<br />" werden, sodass keine Zeilenumbrüche mehr vorhanden sind)

    bis jetzt mach ich das so:
    s=nl2br(s = nl2br(s);
    s = str_replace("\\n","",s);
    s=stripslashes(s = stripslashes(s);

    Doch seltsamerweise hab ich nachher immernoch Zeilenumbrüche im string $s UND die erwünschten <br />'s!
    Was mach ich falsch bzw. wie geht's?

    Danke schonmal...
    C14



  • mh.. ich versteh nicht, was du damit machen willst, wo du keine zeilenumbrüche benötigst...
    Kann aber so direkt keinen Fehler erkennen.. eigentlich müsste es so funktionieren..

    liebe grüsse



  • Es kann sein, dass du zusätzlich zu den Zeilenvorschüben auch noch die Wagenrückläufe ("\r") durch nichts ersetzen musst, je nachdem welchen Editor du verwendest. Manche nutzen '\n\r' (oder auch umgekehrt; weiß ich jetzt nicht so genau) als Zeilenumbruch. Wenn dann bloß noch das '\r' übrig ist, wird das trotzdem als Zeilenumbruch interpretiert.



  • warum nicht so:

    $text = preg_replace("/\r\n|\n|\r/","<br />",$text);
    


  • Vielen Dank!
    Die Version von anonymus funktioniert... offenbar spielte tatsächlich \r eine Rolle.

    @mrchat:
    Ich will eben die Eingaben, die der User in einem Textfeld macht in einer Zeile in einer Datei speichern, damit die Datei nachher einfacher und übersichtlicher aufgebaut ist.


Anmelden zum Antworten