dedlfix: Suchmaschine für eigene Webseite

Beitrag lesen

re

Aber trotzdem verbleibt das Problem mit der Markierung der gesuchten Begriffe in der darzustellenden Seite. Wie würdest Du das denn am billigsten machen?

Wahrscheinlich nach dem gleichen Prinzip wie du auch.
Wie ich es heute machen würde, weiß ich (noch) nicht. (Eine Modernisierung des Projektes steht irgendwo auf meiner virtuellen TODO-Liste.) Vor einigen Jahren habe ich das mal so gelöst:

  
if (isset($_GET['markiere'])) {  
 $farben = array('#00FFFF', '#FF00FF', '#99FF00', '#FFFF00', '#FF8080', '#C0C0C0', '#FFAC59', '#A6A6FF');  
 $markiereworte = array_unique(preg_split('/[\W_]/', strtoupper($_GET['markiere'])));  
 $text = '<p>Suchworte: '.implode(',', $markiereworte)."</p>\n".$text;  
 for ($i = 0; $i < count($markiereworte); $i++) {  
  $wort = $markiereworte[$i];  
  $farbe = $farben[$i % count($farben)];  
  $text = preg_replace("/((<[^>]*)|$wort)/ie", '"$2" == "$1" ? "$1" : "<span style=\"background-color:$farbe;border:solid 1px black;\">$1</span>"', $text);  
 } //foreach markiereworte  
} //if markiere  
echo $text."\n";  

Der ist Text ist unübersichtlich? Ja, das mag sein. Der ist auch schon alt... :-)
Was ich mir bei dem Pattern im preg_replace gedacht habe? Das weiß ich doch heute nicht mehr. Ein Kommentar ist nicht überliefert... :-)

dedlfix