Registrierer
Erfahrenes Mitglied
Mit der Funktion highlightPhase lasse ich Ersetzungen durchführen, auch Groß/Kleinschreibung und Umlaute funktionieren.
Woran es jedoch scheitert: Umlaute UND Groß-/Kleinschreibung werden nicht korrekt erkannt.
Beispiel 1 und 2 funktionieren, Beispiel 3 jedoch nicht.
Weiß jemand einen Trick?
Woran es jedoch scheitert: Umlaute UND Groß-/Kleinschreibung werden nicht korrekt erkannt.
Beispiel 1 und 2 funktionieren, Beispiel 3 jedoch nicht.
Weiß jemand einen Trick?
PHP:
<?PHP
function highlightPhrase ($strHaystack, $strNeedle, $strColor = '', $bCase = FALSE) {
$strQuotedNeedle = preg_quote($strNeedle, '/');
$strPattern = '/' . $strQuotedNeedle . '/i';
$strReplacement = '<span style="color: #ff0000;">$0</span>';
return preg_replace ($strPattern, $strReplacement, $strHaystack);
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head><body>
<?PHP echo
'Beispiel 1: '.highlightPhrase('Oelwanne', 'oelwanne').'<br>'.
'Beispiel 2: '.highlightPhrase('Ölwanne', 'Ölwanne').'<br>'.
'Beispiel 3: '.highlightPhrase('Ölwanne', 'ölwanne');
?>
</body></html>