<?php
/**
* suchergebnisse
*/
$example = <<< EOT
Um die Treffer bei einer Suchanfrage kenntlich zu machen, wird häufig
ein Teilabschnitt des Textes angezeigt welcher den oder die Suchbegriffe enthält.
Die gefundenen Begriffe werden dabei zusätzlich hervorgehoben.
Dies ist ein Beispiel dafür.
EOT;
function mark_hits($text, $search)
{
$w = preg_quote($search);
$n = 40;
$dummy = preg_match("#\b.{0,$n}$w.{0,$n}\b#si",$text, $match);
if ($dummy) {
$result = '... '.preg_replace("#($w)#i", "<strong>\1</strong>",$match[0]).' ...';
} else {
$result = "Die Suche nach <em>$search</em> lieferte keine Treffer.";
}
return $result;
}
echo $example;
echo '<hr>';
echo mark_hits($example, 'begriff');
echo '<hr>';
echo mark_hits($example, 'hits');
?>
Dieses PHP Snippet soll in erster Linie als Beispiel und Anregung für eigene Bemühungen dienen.
Gerne darf man es für Projekte aller Art benutzen.
Möchte jemand das Snippet also solches in ähnlicher oder anderer Form veröffentlichen ist ein kleiner Hinweis auf simplecontent.net nicht zuviel verlangt oder Herr Koch?
Für die Abwesenheit von Fehlern kann natürlich keine Gewähr gegeben werden.