Lieber Kai,
Dein Code
$test = str_replace(chr(10).chr(10),'',$test);
$test = str_replace(chr(13).chr(13),'',$test);
$test = str_replace(chr(10).chr(13),'',$test);
$test = str_replace(chr(13).chr(10),'',$test);
$test = str_replace("\n\n", "", $test);
lässt sich kürzer schreiben und ergibt das gleiche Ergebnis:
`$test = preg_replace('~(?s)[\r\n]{2}~', '', $test);`{:.language-php}
> Im (html)-Ausgabecode habe ich im $test-Feld immer noch \n\n drinne.
Wenn Du nicht weißt, was da "unterwegs" passiert, dann benötigst Du eine Kontrollausgabe:
`file_put_contents('./debug.txt', $test);`{:.language-php}
Damit hast Du den exakten Inhalt der Variablen $test in einer Text-Datei stehen, egal was später in Deiner Webanwendung mit dem HTML-Code noch passiert.
Hast Du etwa so ein Dings wie HTML-Purifier oder Tidy auf dem Server, der nach PHP den Code noch manipuliert?
Im Übrigen solltest Du Deine Anwendung so schreiben, dass sie nicht auf exakte Vorgaben bei Zeilenumbrüchen angewiesen ist. Dafür eigenen sich diese preg\_\*-Funktionen sehr gut. Man kann damit sehr flexibel auf jeglichen HTML-Code losgehen, um seine Manipulationen trotz irgendwelcher Varianten im Code an der richtigen Stelle vorzunehmen. RegExe lohnen sich extremst!
Liebe Grüße,
Felix Riesterer.
--
ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)