Problem mit Sonderzeichen bei Suchanfrage

alles

Grünschnabel
Ich möchte die Suchbegriffe bei der Trefferausgabe hervorheben. Wenn jemand z. b. Hallo ihr eingibt, funktionierts. Gibt jemand Hallo /ihr ein, funktionierts in so fern, das unter dem ihr nichts gefunden wird wegen dem Slash, und wenn jemand Hallo / ihr eingibt, kommt folgende Fehlermeldung Warning: Unknown modifier ')' in suchen.php on line 133. Ich weiß, dass das mit regulären Ausdrücken unterbunden werden kann. Mein Code sieht zur Zeit so aus

$suchanfrage = explode (" ", $suchanfrage);

for($z=0; $z<count($suchanfrage); $z++)
{
$text = $row[3];
$ersetzen = "$suchanfrage[$z]";
$pattern = "/(.*?)($ersetzen)(.*?)/si";
$neu = "$1<font class=letter2>$2</font>$3";
$textneu = preg_replace($pattern,$neu,$text);
echo $textneu;
}

Meine Frage ist jetzt, wie ich mein $pattern ergänzen muss, damit alles was keine Buchstaben oder Zahlen sind rausfliegt. Oder muss ich da ganz anders rangehen, und was muss ich mit dem Slash bei Hallo / ihr machen,da der ja bei der Übergabe als Hallo+/+ihr rüberkommt, und somit als $suchanfrage[1], als Suchwort behandelt wird, und damit mein $pattern total durcheinanderwürfelt. Deswegen habe ich ja sicherlich die Fehlermeldung.

cu
fourxs
 
Zuletzt bearbeitet:
Danke für die schnelle Antwort, aber das löst nicht mein Problem.

zu Erstens: Gibt einen String ohne "\" zurück

zu Zweitens: Gibt einen String ohne evtl. vorhandene "\" (Backslash) zurück

Mein Problem sind die Zeichen, welche bei gedrückter Umschalttaste mit auf den Zifferntasten der Tastatur liegen. Also 1 =! oder 6 =& usw..

Das muss man doch irgendwie aus einer Suchanfrage rausfiltern können?

cu
alles
 
Zurück