Hallo
Ich habe mir eine Suche mit einem Highlight des gesuchten Textes gebaut. Um den Such-Text hervorzuheben verwende ich folgende Funktion:
PHP-Code:
function highlight($text,$words)
{
if($words == "") return $text;
$words = split(':',$words); //
$color=array("5AE6FF","BDB76B","90EE90","FA8072","EE82EE","B1B1B1","ADD8E6");
for($i = 0; $i < sizeof($words); $i++)
{
if($config['use_utf8_highlight'] == 1) $s = utf8_decode($words[$i]);
else $s = $words[$i];
$t = $text;
$c = $color[$i];
// $s case-insensitive in $t hervorheben: based on http://www.dclp-faq.de/q/q-regexp-ersetzen.html
$text = preg_replace("/((<[^>]*)|$s)/ie", '"\2"=="\1"? "\1":"<span style=\"background-color: #$c\">\1</span>"', $t);
}
return $text;
}
Nun mein Problem:
Suche ich z.B nach dem Text
/5 (man Beachte den Slash) verursache ich einen Modifie- Fehler im preg_replace().
Code:
Warning: preg_replace() [function.preg-replace]: Unknown modifier '5' in /var/www/apache2-default/function.php on line 111
Ich möchte den Slash nicht eleminieren sondern als Suchbegriff zulassen. Leider bekomme ich es nicht selber hin, daher meine Bitte um Hilfe.
Danke