Sagen Sie uns Ihre Meinung zum Kontakt-Formular Zur Startseite
Design Hosting Produkte Magazin Profil
SiteMap
  WebLog
  Assoziativ-Speicher
  Bedeutung des Internets
  eMail-Schutz gegen Spam
  eMail-Schutz mittels gnuPG
  Internet für Firmen
  [PHP] Skript-Optimierungen
  robots.txt
  Symbole im Internet
  Suchtext-Markierung
zum Kundenportal

 Suchen:


[Home] - [Magazin] - Suchtext-Markierung

Jeden Tag beschäftigen sich Web-Designer mit dem Thema, wie Ihre Seiten noch besser in Google und Co. gelistet werden. Haben sie dann eine gute Position erreicht, hören viele wieder auf. Doch gerade hier geht es weiter! Denn bei der Informationsflut im Internet ist es wichtig, schnell die passende Info zu liefern, um den Besucher nicht wieder zu verlieren.

Der Trick besteht also darin, Besuchern, die von einer Suchmaschine kommen, die gesuchten Begriffe hervorzuheben. Dies macht die Google-Bar schon, könnte man sagen. Aber die meisten Internet-Benutzer haben diese Leiste nicht auf Ihrem Rechner installiert. Es liegt also am Web-Designer bzw. am Web-Programmierer, diese Funktion zur Verfügung zu stellen:

Dies hört sich relativ kompliziert an, ist aber eigentlich ganz einfach:

Als erstes müssen Sie prüfen, ob der Besucher von einer Suchmaschine stammt. Dazu müssen wir den Referer auslesen, den die meisten Browser mit liefern (sollte dies nicht der Fall sein, steht keine Möglichkeit zur Hervorhebung zur Verfügung). Wir erhalten die Adresse der zuletzt aufgerufenen Seite. Die meisten Suchmaschinen benutzen in ihrer Adresse irgendwo den Begriff "search" oder "suche". Nach diesen Begriffen müssen wir suchen. Ist ein solcher vorhanden, geht es auf die Suche nach dem Suchbegriff los. Diesen findet man einfach raus. Man muss nur die Suchmaschinen-Adressen analysieren.

Aussehen könnte das ganze wie folgt:

function checkSearchEngine() {
  if (getenv("HTTP_REFERER")!="") {
   if (strpos(getenv("HTTP_REFERER"), "search") || strpos(getenv("HTTP_REFERER"), "such")){
     if (strpos(getenv("HTTP_REFERER"),"q=")) {

      //q= ist der Parameter, bis nach q= wird jetzt die Adresse abgeschnitten
     $anfang = strpos(getenv("HTTP_REFERER"),"q=");
     $string = substr(getenv("HTTP_REFERER"),$anfang+2);
 

     //nun wird alles nach dem Suchstring entfernt (ist durch ein &-Zeichen verbunden)
     $ende = strpos($string,"&");
     if ($ende) $string= substr($string,0, $ende);

     //dekodieren
     $string = urldecode($string);
     $string = str_replace("/","\/",$string);

     //$string aufspalten, falls mehrere Suchbegriffe existieren
     return (explode("+",$string));
    }
  }
 }
}

Diese Funktion überprüft also erst, ob es einen Referer gibt und prüft diesen anschließend. Dann werden die Suchbegriffe in einem Array einzeln zurückgeliefert. Die Funktion klappt z.B. bei Google einwandfrei. Andere Suchmaschinen müssen unter Umständen extra behandelt werden, da diese den Suchbegriff beispielsweise als "query" übergeben.

Um nun die Suchbegriffe hervorzuheben, muss der Seiteninhalt bearbeitet werden. Dies funktioniert ganz einfach mit folgendem Skript:

$suche = checkSearchEngine();
for ($i=0;$i<sizeof($suche);$i++) {
       $search = '/('.$suche[$i].')(.*?)[^(.*)>]/Ui';
      $replace= '<span class=searchengine>\\1</span>\\2\\3';
      $strHTML = preg_replace($search,$replace,$strHTML);
}

Dieser reguläre Ausdruck ersetzt alle Suchbegriffe aus $strHTML mit einem SPAN-Tag. Dieser bekommt die Klasse "searchengine" zugewiesen. Mittels CSS kann dieser Tag nun entsprechend hervorgehoben werden. Es ist natürlich darauf zu achten, dass diese Ersetzung nicht innerhalb eines anderen HTML-Tags (z.B. Image oder Button) durchgeführt wird, da dies zu Fehlern führen würde. Deshalb ist die Ersetzung nicht ganz einfach und benötigt einen regulären Ausdruck: mittels [^(.*)>] prüfen wir, dass kein schließender Tag folgt (^ negiert die Aussage). Der Modifier "U" veranlasst PHP, nach kurzen Entsprechungen zu suchen, "i" dürfte klar sein.

Probieren Sie diese Idee einfach aus. Unser Content Managament System führt eine ähnliche Prozedor durch. Suchen Sie also hier einen Text mit Google oder der internen Suchmaschine, so werden die Begriffe farblich gervorgehoben. Ein Nutzen, den Sie schnell zu schätzen wissen. (MB)

Heises Security-Portal

Hier finden Sie die neuesten News aus dem Bereich der Sicherheit

fileZilla - FTP

Ein FTP-Programm, ausgezeichnet in der Technik und dabei kostenlos (OpenSource)

Zeitungs-Style mittels CSS

Eindrucksvoll kann man hier sehen, wozu CSS in der Lage ist. Zeitungen lassen sich so einfach umsetzen.

Impressum
Datenschutzerklärung
Kontakt-Formular
Steckbrief
AGB


zum Forum