Suche nach genauem Wortlaut

ronaldo84

Erfahrenes Mitglied
Hallo

Ich will eine Suche mit ereg() realisieren. Ich durchsuche mehrere Dateien nach Artikelnummern die ich aus einer MySQL-Datenbank auslese.
PHP:
for ($i=0; $i<count($content); $i++) //For-Schleife die jede einzelen Zeile nach der artikelnummer durchsucht
	 { 
 
		if(ereg($row->artnr, $content[$i])) 
		 {echo $y; echo "-|-"; echo $row->artnr; echo "<br>";}
		else
		 {echo $y; echo "-|-"; echo "Nicht gefunden"; echo "<br>";}
	 }

Wenn ich nun aber die Artikelnummer ZM-30190 und ZM-30191 werden die Beide der gleichen Datei zugeschrieben. Dies kann aber nicht sein, da jede Seite nur eine Artikelnummer besitzt. Wie kann ich nach dem genauen Wortlaut suchen? Nach einem Leerzeichen prüfen kann ich nicht, da beide Artikelnummern gleich lang sind. Weiß jemand Rat?

Danke
 
int ereg ( string Suchmuster, string Zeichenkette [, array &regs] )

...

Gibt die Länge der übereinstimmenden Zeichenkette zurück, falls in Zeichenkette eine Übereinstimmung mit Suchmuster gefunden wurde oder FALSE, wenn keine Übereinstimmung gefunden wurde oder wenn ein Fehler aufgetreten ist. Falls der optionale Parameter regs nicht übergeben wurde oder die Länge der übereinstimmenden Zeichenkette 0 ist, gibt diese Funktion 1 zurück.

Code:
==> if( ereg(alkdjflkajdsflkajsdfl) == Länge deiner gesamten Artikelnummer)
                   Wunderbar
       else
                   passt was net


gruß shutdown
 
Vielen Dank für deine Hilfe. Leider ist es nicht das was ich Suche, bei deinem Code wird aja wieder nur die Länge, aber nicht der gesamte Inhalt des Wortes gesucht. Es soll wirklich nur dann gefunden werden wenn die Worte 100% gleich sind. D.h. in der Länge und in der Zeichenfolge. Gibt es da eine bessere Funktion als ereg()?
 
ereg gibt die Länge der übereinstimmenden Zeichen zurück

Das heißt, wenn deine Nummer 10 Zeichen hat, und ereg meldet 9 übereinstimmende Zeichen, dann ist da was falsch.

Wenn ereg aber 10 übereinstimmende Zeichen meldet, dann stimmen die genau überein.
 
Zurück