Mailinglisten-Archive |
TerraNET NOC Frielendorf wrote: > kann mir netterweise mal jemand nen Tip geben zu folgendem > Problem: > gegeben ist der String in $a: "12345" <foo_(at)_bar.de> > (kommt aus dem header ein email, wie man unschwer erkennen > kann:-) ) > > Ich möchte jetzt den String '12345' und 'foo_(at)_bar.de' erhalten. Oft werden Regular Expressions benutzt, um Texte zu zerlegen. Es gibt ein ausgezeichnetes Buch zum Thema: Mastering Regular Expressions, zu bestellen bei Egon oder bei Amazon ;-). > $b=explode("\"",$a) funzt für den ersten Teil der Zelegung nicht. Doppelte Anführungszeichen können in einfachen Anführungszeichen abgelegt werden, ohne das ein escapen notwendig ist. Innerhalb von einfachen Anführungszeichen findet keine Variableninterpolation statt. Es wird aus der Zeile mit der freiwilligen Coding Conventions, das Operatoren stets durch Leerzeichen abgesetzt werden zunächst: $b = explode('"', $a); > PHP3 mag die Hochkommas nicht "weg-explodieren".... Ja, was soll es denn nun machen. Du forderst die Zerlegung des Strings, der in der Variable $a, die einen wenig aussagekräftigen Namen hat, an allen Stellen die doppelte Anführungszeichen enthalten (") und nicht Hochkommas (') und beschwerst Dich, das nicht an den Hochkommata zerlegt wird? Kennst Du var_dump() und print_r()? Die beiden Funktionen werden v.a. für das Debugging eingesetzt. Die dumpen beliebige PHP Datenstrukturen und verraten ihren Inhalt. Bitte prüfe mit var_dump($b) das Ergebnis deiner Bemühungen. Sind immer noch Fehler enthalten? Ulf
php::bar PHP Wiki - Listenarchive