:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte
Unternehmen im
Anbieterverzeichnis von SELFPHP
:: SELFPHP Forum ::
Fragen rund um die Themen PHP? In über
120.000 Beiträgen finden Sie sicher die passende
Antwort!
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
:: Qozido ::
Die Bilderverwaltung mit Logbuch für
Taucher und Schnorchler.
|
|
Schlagwort innerhalb eines Strings farblich hervorheben |
Beispielaufgabe
Das in einem String gefundene Schlagwort soll (oder die gefundenen Schlagworte sollen) farblich hervorgehoben werden. Die Farbe muss frei definierbar sein und die Groß-/Kleinschreibung muss beachtet werden, dies sollte aber gegebenenfalls abschaltbar sein.
Beschreibung
Die Funktion "highlightPhrase" sucht im übergebenen String ($strHaystack) das gewünschte Schlagwort ($strNeedle) und ersetzt es durch das per HTML/CSS formatierte Schlagwort. Wird im dritten Argument keine benutzerdefinierte Farbe (als HEX-Code, ohne das Präfix "#") angegeben, dann wird Rot (#ff0000) als Standardfarbe verwendet. Der optionale letzte Parameter steht Standardgemäß auf FALSE, das bedeutet, dass die Funktion auch die Groß- und Kleinschreibung beachtet. Soll dies nicht erfolgen, muss das letzte Argument auf TRUE gesetzt werden.
<?PHP
function highlightPhrase ( $strHaystack, $strNeedle,
$strColor = '', $bCase = FALSE )
{
if ( empty ( $strColor ) )
{
// Standardfarbe: Rot
$strColor = 'ff0000';
}
$strModifier = '';
if ( $bCase )
{
// Modifikator "i": Groß- und Kleinschreibung ignorieren.
$strModifier = 'i';
}
$strQuotedNeedle = preg_quote ( $strNeedle, '/' );
$strPattern = '/' . $strQuotedNeedle . '/' . $strModifier;
$strReplacement = '<span style="color: #' . $strColor . ';">$0</span>';
return preg_replace ( $strPattern, $strReplacement, $strHaystack );
}
?>
|
Anwendungsbeispiel
<?PHP
$strHaystack = 'Das in einem String gefundene Schlagwort soll (oder ' .
'die gefundenen Schlagworte sollen) farblich ' .
'hervorgehoben werden. Die Farbe muss frei definierbar ' .
'sein und die Groß-/Kleinschreibung muss beachtet werden' .
', dies sollte aber gegebenenfalls abschaltbar sein.';
$strNeedle = 'Groß-/Kleinschreibung';
print ( highlightPhrase ( $strHaystack, $strNeedle ) );
?>
|
Ausgabebeispiel: Browseransicht
Das in einem String gefundene Schlagwort soll (oder die gefundenen Schlagworte sollen) farblich hervorgehoben werden. Die Farbe muss frei definierbar sein und die Groß-/Kleinschreibung muss beachtet werden, dies sollte aber gegebenenfalls abschaltbar sein. |
|
|
|
|
|
|