Hi,
ich habe mal wieder ein Problem ;-)
Ich suche mit meinem Programm nach verschiedenen Suchbegriffen, was auch problemlos klappt. Das Problem ist jedoch, dass ich den gefundenen Suchbegriff farblich markieren möchte. Das tut er auch, allerdings nur, wenn ich die Umlaute klein schreibe.
Kleine Übersicht:
"Qualität" bzw. "qualität" wird gefunden und auch richtig markiert,
gebe ich jedoch "Änderung" ein, wird alles gefunden, aber markiert wird nur "Änderung",
die kleingeschriebenen Wörter, z.B. "Programmänderungen" werden NICHT markiert.
Hier ist der PHP-Code:
Die Funktion setlocale() ist keine richtige Lösung, da das Programm in mehreren Ländern benutzt wird. Korrigiert mich, wenn ich falsch liege, bin noch ein Anfänger, was PHP angeht
Gruß,
Va7e
ich habe mal wieder ein Problem ;-)
Ich suche mit meinem Programm nach verschiedenen Suchbegriffen, was auch problemlos klappt. Das Problem ist jedoch, dass ich den gefundenen Suchbegriff farblich markieren möchte. Das tut er auch, allerdings nur, wenn ich die Umlaute klein schreibe.
Kleine Übersicht:
"Qualität" bzw. "qualität" wird gefunden und auch richtig markiert,
gebe ich jedoch "Änderung" ein, wird alles gefunden, aber markiert wird nur "Änderung",
die kleingeschriebenen Wörter, z.B. "Programmänderungen" werden NICHT markiert.
Hier ist der PHP-Code:
PHP:
function HighlightSuchbegriff ( $strInhalt, $strSuchBegriff)
{
$bCase = TRUE;
$strModifier = '';
if ( $bCase )
{
// Modifikator "i": Groß- und Kleinschreibung ignorieren.
$strModifier = 'i';
}
$strQuotedNeedle = preg_quote ( $strSuchBegriff, '/' );
$strPattern = '/' . $strQuotedNeedle . '/' . $strModifier;
$strReplacement = "<span style='background-color: #FFFF00'><b>$0</b></span>";
return preg_replace ( $strPattern, $strReplacement, $strInhalt );
}
Die Funktion setlocale() ist keine richtige Lösung, da das Programm in mehreren Ländern benutzt wird. Korrigiert mich, wenn ich falsch liege, bin noch ein Anfänger, was PHP angeht
Gruß,
Va7e