Xava: Wert aus String auslesen

Beitrag lesen

Nach einigen Test und Fehlerkorrekturen nun folgende funktionierende Lösung:

$key = "id";

$str = "Hallo Welt\n"
       ."\r\n"
       ." id:   08154711 ";

// Wagenrücklauf entfernen
 $replace_str = "\n";
 $str = preg_replace('/\r\n|\r/', $replace_str, $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
        $replace_str = "";
        $str_neu = preg_replace("/(^\s)|(\s$)/", $replace_str, $zeilen[$i]);

// Ersetze alle Leerzeichen mit mehr als eins durch nur ein Leerzeichen
        $str_neu = preg_replace("/\s{2,}/", ' ', $str_neu);

$str_neu = substr($str_neu, (strlen($key)+2), strlen($str_neu)-4);
        break;
    }
 }

echo $str_neu;

Bleibt die Frage offen, ob es zu umständlich ist bzw. ob es eine einfachere Lösung gibt.