Hi,
endkrass, Du stellst ja mehr Fragen als ich ;-)
Mir ist nicht klar, wo du diese Steuerzeichen beseitigt haben willst - dass str_replace, auf "chr10 chr13" angewandt, nur den Text "chr10 chr13" ersetzen würde, sollte klar sein.
Ja, isses. Die funktion ist folgende:
$foo = chr(13);
$foo .= chr(10);
$_POST[$bla] = str_replace($foo, "<br />", $_POST[$bla]);
Eventuell meinst du den Aufruf der Funktion chr(), um die entsprechenden Zeichen zu erzeugen? Ja, dann ruf sie aber auch auf - und mach das außerhalb von Anführungszeichen, und lass das Leerzeichen zwischen den beiden Steuerzeichen weg.
Ja ist klar, ich habe das so aus dem Gedächtnis geschrieben.
Allerdings sollte dir auch klar sein, dass nicht jedes System die gleichen Zeilenumbrüche verwendet.
Ja, ist mir auch bewußt.
Wozu überhaupt ersetzen? Was passt dir an der Funktion nl2br() nicht, und wieso stört es dich, wenn neben dem HTML-Umbruch <br /> auch noch die originalen Steuerzeichen im Ergebnis enthalten sind?
Weil ich die Daten in einen Textfile schreiben will. Und zwar in eine Zeile pro Eingabe. Dann kann ich am einfachsten die Anzahl der Datensätze zählen, indem ich per file() den ganzen Schmus in ein Array schreibe un per count() die Anzahl bestimme. Da nerven dann aber jegliche Zeilenumbrüche, weil die dann den Count erhöhen.
Eigentlich ist das so auch gut am funktionieren. Irgendwie ist es aber gelungen einen Zeilenumbruch an dem ganzen Konstrukt vorbeizumogeln, das kann ich am flatfile erkennen. Mir ist bloß völlig unklar, WIE das vollbracht worden ist und ich kann es auch nicht reproduzieren. Also auch nicht verhindern.
Nein, eine Datenbank möchte ich nicht benutzen.
Meine Frage ist also ganz banal, wie kann man an:
$foo = chr(13)
$foo .= chr(10);
$_POST[$bla] = str_replace($foo, "<br />", $_POST[$bla]);
strip_tags();
html_entities();
ein Steuerzeichen (in dem Fall Zeilenumbruch) vorbeimogeln, indem man _was_? in ein Formularfeld schreibt. Wenn ich das wüsste, könnte ich dieses Zeichen auch einfach durch ein <brrrr/> ersetzen.
Und an nl2br() gefällt mir nicht, daß ich's nicht brauche. Wenn ich die Steuerzeichen entferne, kann ich sie auch gleich ersetzen, also muß ich nicht doppelmoppeln.
Außerdem macht sie je nach PHP Version mal <br> und mal <br/> und mal ruhig Brauner. Dann mach ich das lieber auf die Art und kenne das Ergebnis unabhängig von der PHP Version.
gruß
Konrad