Oder willst Du was anderes?
Wenn es auch "Leerzeilen" entfernen soll die Leerzeichen oder Tabs enthalten:
<?php
$test='Hallo'
. " \r\n\r\n"
. " \n\n"
. "\t\r\r"
.'
Welt!
';
print leerzeilen_entferner($test)."\n";
function leerzeilen_entferner($str) {
$str = str_replace("\r", "\n", $str);
return preg_replace("/\s*\n{2,}/", "\n", $str);
}
?>
Erläuterung des Regex:
/ :: start regex
\s :: repräsentiert Spaces (Leerzeichen, Tabs, Zeilenumbruch - letzteres ist bei dieser Aufgabe zu viel aber unschädlich)
* :: die kein-, ein-, oder mehrfach vorkommen, gefolgt von
\n :: Zeilumbruch (Newline)
{2,} :: der zweimal oder öfter vorkommt.
/ :: ende regex