lulu: Suchergebnisse hervorheben

Beitrag lesen

Huhu mic

hier mal eine Lösung für nur einen Suchbegriff.
Das sollte dem was Du suchst schon ziemlich nahe kommen.
Schau es Dir halt mal an.

<?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');

?>

Gute Nacht

lulu

--
bythewaythewebsuxgoofflineandenjoytheday