Hallo hallo,
wie so oft stehe ich vor einem Problemchen, wo ich mir die ganze Zeit sage, dass es dafür eine ganz simple Lösung geben müsste, nur dass sie mir nicht einfällt...
Folgender Code:
Ich möchte per preg_match() feststellen, ob im String $vergleich das Dollar-Zeichen drin vorkommt. Dachte ich mir, kein Problem, im RegExp eine Zeichenklasse definiert und rein damit. Pustekuchen, der Browser zeigt "0" an.
Nach etwas Austesten hab ich dann festgestellt, dass es wohl irgendwie an der Tatsache liegen muss, dass ein $-Zeichen in einem String, der durch die double quotes begrenzt wird, wie der Beginn einer Variable behandelt wird. In folgenden strings wird das $-Zeichen richtig erkannt:
$verboten = 'das kostet $preis heute';
$verboten = "das kostet preis$preis heute";
$verboten = "das kostet $ heute";
Nun meine Frage: Wie teile ich der Funktion mit, dass er ein Dollar-Zeichen im zu untersuchenden String _nicht_ als Beginn einer Variable interpretieren soll?
Gibt's dafür einen preg modifier oder gibt's dafür 'ne eigene Funktion?
thx in advance
smeagol
wie so oft stehe ich vor einem Problemchen, wo ich mir die ganze Zeit sage, dass es dafür eine ganz simple Lösung geben müsste, nur dass sie mir nicht einfällt...
Folgender Code:
Code:
$verboten = "/[$]/i"; $vergleich = "das kostet $preis heute"; echo preg_match($verboten, $vergleich);
Nach etwas Austesten hab ich dann festgestellt, dass es wohl irgendwie an der Tatsache liegen muss, dass ein $-Zeichen in einem String, der durch die double quotes begrenzt wird, wie der Beginn einer Variable behandelt wird. In folgenden strings wird das $-Zeichen richtig erkannt:
$verboten = 'das kostet $preis heute';
$verboten = "das kostet preis$preis heute";
$verboten = "das kostet $ heute";
Nun meine Frage: Wie teile ich der Funktion mit, dass er ein Dollar-Zeichen im zu untersuchenden String _nicht_ als Beginn einer Variable interpretieren soll?
Gibt's dafür einen preg modifier oder gibt's dafür 'ne eigene Funktion?
thx in advance
smeagol
Kommentar