PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : preg_match Problemchen



Maisaffe
02.10.2005, 20:49
Hi WebDev!

Ich habe hier ein komisches Problem:
Ich möchte Abfragen ob im $text gewissen Zeichen vorhanden sind. Hier im Beispiel soll gefragt werden ob '/../' (..) vorkommt.


$zeichenkette = "abcdef";
$suchmuster = '/../';
if(preg_match($suchmuster, $zeichenkette)){echo "das Suchmuster kommt im Text vor";}
else {echo "kommt nicht im text vor";}

In $zeichenkette kommt .. nicht vor, wie man sieht.
Trotzdem kommt "das Suchmuster kommt im Text vor" als Antwort, warum?
Wie kann ich das vermeiden?

Änder ich .. in $suchmuster in .2. oder sonstigen Wert (der nicht in abcdef beinhaltet ist) kommt die else{} Antwort. So sollte es ja auch sein.

Dennis

Lukas
02.10.2005, 21:00
Wie wär's, wenn du die Punkte maskierst?
Ein Punkt steht bei Regexps für ein beliebiges Zeichen - dein RegExp mus /\.\./ lauten.

Dingsi
02.10.2005, 21:33
mq hat Recht. /../ würde bedeuten, dass du einfach mindestens zwei beliebige Zeichen nebeneinander haben möchtest. Das kann aa, $#, omgwtfbbq und auch .. sein.