Newsletter

  • Immer informiert über die neusten Trends, Webseiten und Tutorials! Einfach hier für den monatlichen Newsletter anmelden.
  •  Eintragen
  •  Austragen

Login

Umfrage

  • Haben Sie Interesse an Softwaretipps für Webmaster?
  •  
  • ja
  • nein
  •  


Linktipps

Anzeige

 

www.finanzcheck.de
» Startseite » PHP und MySQL Tutorials

MetaKeywords automatisch erstellen

Mit der hier vorgestellten Funktion lassen sich die MetaKeywords für jede beliebige Seite automatisch erstellen, egal ob statische .html Seite oder dynamisch erzeugte .php Seite.

Das ganze wird mit folgendem Script realisiert, das eine beliebige URL ausliest und somit unabhängig von Server, verwendeter Programmiersprache der Seite, etc. ist.
Testen können sie das ganze unter folgender URL: WME MetaKey Test


Features:
- automatisches Auslesen der Wörter einer Seite
- automatische Filterung von sog. Stopwörtern (für Suchmaschinen wichtig!)
- automatische Filterung von Wörtern kleiner 4 Zeichen
- automatische Ausgabe als String mit Kommata getrennt

  1.  <?php
  2.   // Copyright by
  3.   // http://www.webmaster-eye.de
  4.   //
  5.   function unset_by_val($needle,&$haystack) {
  6.    while(($gotcha = array_search($needle,$haystack)) > -1)
  7.      unset($haystack[$gotcha]);
  8.   }
  9.   //
  10.   function word_limiter($str, $limit = 100, $end_char = '8230') {
  11.      if (trim($str) == '')
  12.          return $str;
  13.      preg_match('/s*(?:S*s*){'. (int) $limit .'}/', $str, $matches);
  14.      if (strlen($matches[0]) == strlen($str))
  15.          $end_char = '';
  16.      return trim($matches[0]);
  17.   }
  18.   //
  19.   function keyword_unique($url = ""){
  20.    $stopword = array("ab", "ihrer", "noch", "also", "beim", "gibt", "viele", "aber", "als", "am", "an", "auch", "auf", "aus", "bei", "bin", "bis", "bist", "da", "dadurch", "daher", "darum", "das", "", "dass", "dein", "deine", "dem", "den", "der", "des", "dessen", "deshalb", "die", "dies", "dieser", "dieses", "doch", "dort", "du", "durch", "ein", "eine", "einem", "einen", "einer", "eines", "er", "es", "euer", "eure", "", "hatte", "hatten", "hattest", "hattet", "hier", "hinter", "ich", "ihr", "ihre", "im", "in", "ist", "ja", "jede", "jedem", "jeden", "jeder", "jedes", "jener", "jenes", "jetzt", "kann", "kannst", "", "", "machen", "mein", "meine", "mit", "", "", "musst", "", "", "nach", "nachdem", "nein", "nicht", "nun", "oder", "seid", "sein", "seine", "sich", "sie", "sind", "soll", "sollen", "sollst", "sollt", "sonst", "soweit", "sowie", "und", "unser", "unsere", "unter", "vom", "von", "vor", "wann", "warum", "was", "weiter", "weitere", "wenn", "wer", "werde", "werden", "werdet", "weshalb", "wie", "wieder", "wieso", "wir", "wird", "wirst", "wo", "woher", "wohin", "zu", "zum", "zur", "");
  21.    $uniquearray();
  22.    $buffer = @file_get_contents($url);
  23.   
  24.    //
  25.    // Es werden mit dieser Erweiterung dann nur Inhalte genutzt die
  26.    // zwischen <div id="mitte"> </div> liegen
  27.    //
  28.    //
  29.    #preg_match("-<div id=\"mitte\">(.*?)</div>-si", $buffer, $content);
  30.    #$buffer = $content[0];
  31.   
  32.    $kill = array("/",",","&","  ",".","!","?",":",";","-","'",">","<","(",")");
  33.    $replace = array(" "," "," "," ","","","","","","","","","","");
  34.    $words1 = str_replace($kill,$replace,word_limiter(strtolower(html_entity_decode(preg_replace("-<(.*?)>(.*?)<(.*?)>-si"," ",$buffer)))));
  35.    $words2 = explode(" ",trim($words1));
  36.    $unique = array_unique($words2);
  37.    for($v=0;$v <= count($stopword);$v++){
  38.      unset_by_val($stopword[$v],$unique);
  39.    }
  40.    return $unique;
  41.   }
  42.   //
  43.   //
  44.   // Alles was angepasst werden muss, ist im Grunde nur diese Zeile:
  45.   // $keywords = keyword_unique("http://www.webmaster-eye.de/");
  46.   //
  47.   $keywords = keyword_unique("http://www.webmaster-eye.de/");
  48.   for($x = 0;$x < count($keywords);$x++){
  49.    if($keywords[$x] != " " && !empty($keywords[$x]) && strlen($keywords[$x]) >= 4){
  50.      $keys .= $keywords[$x].",";
  51.    }
  52.   }
  53.   //
  54.   echo substr($keys,0,strlen($keys)-1);
  55.  ?>


Erläuterungen zur Nutzung finden sie in den Kommentaren des Scriptes oben, grundlegend ist nur folgender Aufruf:
  1.  <?php
  2.  $keywords = keyword_unique("http://www.webmaster-eye.de/");
  3.  ?>


Damit starten sie die Funktionen und können hier auch die URL angeben die ausgelesen werden soll.
Bei weiteren Fragen oder Anregungen hier zu schreiben sie bitte einen Kommentar zu diesem Artikel.

Tipp:
Mit folgender kleinen PHP Codezeile können sie die aktuelle URL der Seite auslesen auf der sie gerade sind:
  1.  <?php
  2.  $url = "http://".$_SERVER["HTTP_HOST"]."".$_SERVER["REQUEST_URI"]."";
  3.  ?>



Fragen? Probleme? Keine Antworten? Hilfe finden Sie im Webmaster Forum!

Diese Artikel könnten Sie auch interessieren:
Reguläre Ausdrücke
Unterschiedlicher Footer auf verschiedenen Seiten
String nach Wortende trennen
Alternative Syntax für Kontroll-Strukturen
Was ist PHP?


 
Anzeige