Hallo
Ich habe mir eine Suche mit einem Highlight des gesuchten Textes gebaut. Um den Such-Text hervorzuheben verwende ich folgende Funktion:
Nun mein Problem:
Suche ich z.B nach dem Text /5 (man Beachte den Slash) verursache ich einen Modifie- Fehler im preg_replace().
Ich möchte den Slash nicht eleminieren sondern als Suchbegriff zulassen. Leider bekomme ich es nicht selber hin, daher meine Bitte um Hilfe.
Danke
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;
}
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
Danke
Kommentar