:: 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.
|
|
Textvorschau mittels Schlagwort generieren |
Beispielaufgabe
Erstellen einer Textvorschau durch suchen eines Schlagwortes.
Beschreibung
Die Folgende Funktion sucht im übergebenen String ($strHaystack) das Vorkommen eines Schlagwortes ($strNeedle). Standard gemäß wird bei der Suche nicht zwischen Groß- und Kleinschreibung unterschieden. Ist dieses Verhalten nicht gewünscht, so ist das optionale Argument "$bCase" auf FALSE zu setzen. Über das dritte Argument (optional) ist die Länge der Vorschau steuerbar. Als Standard wurde hier "120" festgelegt, das heißt, dass vor und nach dem gesuchten Wort bis zu 120 Zeichen als Vorschau ausgegeben werden. Wenn vor oder nach dem gesuchten Schlagwort nicht mindestens so viele Zeichen gegeben sind, wie der Wert von $strLength fordert, dann wird automatisch alles vor und/oder nach dem Schlagwort als Vorschau zurückgegeben. Ist die Suche nach $strNeedle nicht erfolgreich, wird FALSE zurückgegeben.
<?PHP
function buildPreview ( $strHaystack, $strNeedle,
$strLength = 120, $bCase = TRUE )
{
if ( empty ( $strLength ) )
{
$strLength = 120;
}
$strModifier = '';
if ( $bCase )
{
// Modifikator "i": Groß- und Kleinschreibung ignorieren.
$strModifier = 'i';
}
$strQuotedNeedle = preg_quote ( $strNeedle, '/' );
$strPattern = '/.{0,' . $strLength . '}' . $strQuotedNeedle .
'.{0,' . $strLength . '}/s' . $strModifier;
$arMatches = array ();
if ( !preg_match ( $strPattern, $strHaystack, $arMatches ) )
{
return FALSE;
}
return $arMatches[0];
}
?>
|
Anwendungsbeispiel
<?PHP
$strHaystack = 'Erstellen einer Textvorschau durch suchen ' .
'eines Schlagwortes.';
$strNeedle = 'suchen';
print ( '...' . buildPreview ( $strHaystack, $strNeedle, 15 ) . '...' );
?>
|
Ausgabebeispiel: Browseransicht
...vorschau durch suchen eines Schlagwo... |
|
|
|
|
|
|