Felix Riesterer: XML aus Array auslesen

Beitrag lesen

Liebe Nadja,

Wenn du bspw. aus dem String »  <map>DM-Antalus</map>« den Teilstring »DM-Antalus« haben willst, kannst du auch reguläre Ausdrücke verwenden.
Hab ich mir schon fast gedacht... Davor graut es mir aber immer so ;)

das Suchmuster ist schnell erstellt: "/<map>([^<]*)</map>/"
Wenn Du sicher sein kannst, dass innerhalb des Elementes <map> keine weiteren Elemente (also mit diesen spitzen Klammern) kommen, dann kannst Du sagen, dass eine Kette von aufeinanderfolgenden Zeichen, die alle nicht "<" lauten, gefunden werden soll.

Da ich die Funktion preg_match für diesen simplen Zweck nicht mag (wegen der Paramter-Handhabung; für komplexere Zwecke mag ich sie aber schon!), "missbrauche" ich dafür gerne preg_replace (obwohl das sicherlich grausig ist):
$meinString = preg_replace("/.*<map>([^<]*)<\/map>.*/", "\\1", $xml_quelltext);

Schön ist was anderes, aber manchmal mache ich der Einfachheit halber Unschönes... :-)

Liebe Grüße aus Ellwangen,

Felix Riesterer.