Fred Furunkelstein 2012: Ich bekomme die Leerzeilen nicht raus

Beitrag lesen

$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);

  
Das sieht ja hübsch planlos aus...  
  
Du willst alle Leerzeilen entfernen und weisst nicht, wie das Zeilenende angelegt ("\r\n", "\r" oder "\n") ist.  
  
Ok, erster Schritt:  
  
ersetze alle \r durch \n:  
  
`$test = str_replace("\r","\n",$test);`{:.language-php}  
  
Und jetzt kannst entweder mit einem Regex oder mit str\_replace die doppelten "\n" rauswerfen:  
  
~~~php
$flag=1;  
while ($flag) {  
   $test = str_replace("\n\n","\n",$test, &$flag);  
}

oder:

$test = [link:http://www.php.net/manual/de/function.preg-replace.php@title=preg_replace]("/\n{2,}/", "\n", $test);

fred