Habe mir jetzt mal folgendes ausgedacht:
$str = "Hallo Welt\n"
."\r\n"
." id: 08154711";
// Wagenrücklauf entfernen
$str = preg_replace('/\r\n|\r|\n/', '\n', $str);
// Zeilenweise auslesen und in ein Array legen
$zeilen = preg_split("/\n/", $str);
for ($i=0; $i<count($zeilen); $i++) {
if (preg_match("/\s*id:\s[0-9]+/"i), $zeilen[$i]) {
// Ersetze Leerzeichen am Anfang und Ende durch NULL
$str_neu = $zeilen = preg_split("/(^\s)|(\s$)/", '', $zeilen[$i]);
/* Ersetze alle Leerzeichen mit mehr als eins durch nur ein Leerzeichen */
$str_neu = $zeilen = preg_split("/\s{2,}/", ' ', $str_neu);
$str_neu = substr($str_neu, 4, strlen($str_neu)-4);
break;
}
}
echo $str_neu;
Würde dass funktionieren? Oder ist es zu Umständlich bzw. geht es einfacher?