phpbar.de logo

Mailinglisten-Archive

[php] Hier explodiert nichts :-(

[php] Hier explodiert nichts :-(

Ulf Wendel ulf.wendel_(at)_phpdoc.de
Wed, 15 Nov 2000 20:29:50 +0100


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