Thema: preg_match will nicht

hallo gemeinde

Ich stehe vor einem Rätzel

Ich überprüfe eine Zeichenkette auf vorkommen eines Suchsstrings mit preg_match:

$suchstring = strval($word2check);
$suchstring = "/".$suchstring."/i";
if(preg_match($suchstring, $field)){ echo "OK<br>";}else{echo "FEHLER<br>";}

Leider funktioniert das nicht !

Wenn ich aber testerweise den Suchstring nicht aus Variableln zusammensetze, sondern manuell einfülle funktioniert es:

$suchstring = strval($word2check);
$suchstring = "/".$suchstring."/i";
if(preg_match($suchstring, $field)){ echo "OK<br>";}else{echo "FEHLER<br>";}

Warscheinlich bin ich einfach Blind... aber ich find den Fehler nicht !

2

Re: preg_match will nicht

Moin smile

vielleicht bin ich blind, aber die beiden Code-Schnippel, die Du gepostet hast, sehen irgendwie identisch aus...
Kannst Du vielleicht noch den Teil posten, der Deiner Ansicht nach nicht funktioniert?

tink

Beleidigungen sind die Argumente derer, die keine Argumente haben

3

Re: preg_match will nicht

ups sorry
du hast recht . der den ich aus versehen 2mal gepostet habe funktioniert nicht.
funktionieren tuts nur wenn ich den Suchstring manuell hinschreibe

also

$suchstring = strval($word2check);
$suchstring = "/wort/i";
if(preg_match($suchstring, $field)){ echo "OK<br>";}else{echo "FEHLER<br>";}

4

Re: preg_match will nicht

Hi nochmal smile

hmm, was sind denn für Werte jeweils in $word2check und $field drin?
Kannst Du mal ein richtig konkretes Beispiel posten?
Auf Anhieb würde ich das Problem in der strval() Funktion vermuten, die irgendwas mit dem Suchmuster macht, was dem RegEx nicht schmeckt...

tink

Beleidigungen sind die Argumente derer, die keine Argumente haben

5

Re: preg_match will nicht

danke für deine hilfe !

Manchmal sieht man vor lauter Bäumen den Wald nicht mehr !
Es war tatsächlich an den Übergebenen Werten. Die Werte werden nämlich aus einer Datei ausgelesen mit file() -> nur Leider schreibt diese Funktion das Zeilenendezeichen mit in das Array. Die Funktion trim() über die Werte gelassen um dieses zu entfernen -> Und preg_match funktioniert jetzt auch. War eigentlich logisch das es dort hacken muss, nur hab ich irgendwie nicht daran geglaubt. Zum Glück gibts Wochenenden -> Zulange am Stück programmieren ist für n'Arsch !

Zuletzt bearbeitet von jstch (21-08-2006 12:56:31)