Entwicklung - PHP - Keywords dynamisch aus einem Text generieren

PHP: Keywords dynamisch aus einem Text generieren

rob (53)

rob

12.08.2002 00:42

Vinn

  • 323 Postings, noch 27 bis zum nächsten Level (350)

Postings: 323

Keywords dynamisch aus einem Text generieren

Donnerstag, 12. August 2004 16:53

  • 0.0/6 Votes: 0
0.0/6 Votes: 0

um ein besseres Ranking bei Suchmaschinen zu erreichen, hier mal eine PHP-Funktion, welche aus einem Text die Keywords generiert.
die Funktion erwartet als Übergabeparameter den Text, aus dem die Kexwords generiert werden sollen.

Im ersten Schritt werden alle HTML-Tags aus dem Text gefiltert, da diese hier als Keywords nicht gewünscht sind.

$sText = preg_replace('/<.*?>/si', ' ', $sText);
$sText = preg_replace('/lt.*?>/si', ' ', $sText);

im zweiten Schritt werden alle Zeichen (Satzzeichen und Sonderzeichen) in einem Array definiert, welche für die Keywords ebenfalls nicht gebraucht werden können.
Diese Zeichen werden dann in einer Schleife durch ein Leerzeichen ersetzt.

$aBadChars = array("'",'.',':',';',',','?','!','"'
,'=',')','(','&',"\t","\n","\r",'/','}','{','[',']');
foreach($aBadChars as $sChar)
$sText = str_replace($sChar, ' ', $sText);

zur Keyword-Generierung wird nun der Text mit der Funktion explode() anhand des Leerzeichens zerteilt.
Desweiteren wird ein Array mit Wörtern angelegt, die nicht als Keyword gewünscht sind (kann nach Belieben erweitert werden).

$aWords = explode(' ', $sText);
$aNotNeeded = array('können','könnte','wollte','wollen',
'kommt','kommen','dennoch');


in einer Schleife wird nun jedes Wort, welches mehr als 5 Zeichen hat und nicht im Array $aNotNeeded vorhanden ist in ein Array geschrieben.
hier wird zusätzlich noch kontrolliert ob ein Wort nicht schon im Keyword-Array vorhanden ist und ob das Wort kein $-Zeichen enthält (um keine PHP-Variablen aus einem Text auszugeben).
Die Worte werden durch die PHP-Funktion strtolower() in Kleinbuchstaben umgesetzt.


foreach($aWords as $sWord)
{
if(strlen($sWord) <= 5)
continue;
if(!in_array(strtolower($sWord), $aNotNeeded))
{
if(!in_array($sWord, $aKeywords))
{
if(!preg_match('/\$/si', $sWord))
$aKeywords[] = strtolower($sWord);
}
}
}


im letzten Schritt werden noch doppelte Keywords im Array gelöscht und ein String mit den Keywords zurückgegeben,
dazu wird die Arrayelemente mit implode() zu einem String verbunden.

$sKeywords = implode(',', array_unique($aKeywords));
return $sKeywords;

der Aufruf der Funktion könnte dann so aussehen:

$sText = "...hier steht ein langer Textbeitrag";
echo sGetMetaKeywords($sText);

(da würde dann als Keywords rauskommen: "langer,Textbeitrag")

das ganze Script gibt es hier.

Zuletzt editiert:Donnerstag, 12. August 2004 16:59
Bookmark setzen!:Zu Google Bookmark hinzufügen.Zu bloglines hinzufügen.Zu Newsgator hinzufügen.Zu FURL hinzufügen.Zu DIGG hinzufügen.Zu Webnews hinzufügen.Zu Netscape hinzufügen.Zu Yahoo MyWeb hinzufügen.Zu spurl.net hinzufügen.Zu diigo hinzufügen.Zu Newsvine hinzufügen.Zu del.icio.us hinzufügen.Zu SIMPIFY hinzufügen.Zu Mister Wong hinzufügen.Zu Linkarena hinzufügen.Zu isio.de hinzufügen.Zu Oneview hinzufügen.Zu yigg.de hinzufügen.Zu reddit hinzufügen.Zu StumbleUpon hinzufügen.Zu Slashdot hinzufügen.Zu Blinklist hinzufügen.Zu Technorati hinzufügen.Zu Blogmarks hinzufügen.Zu Blinkbits hinzufügen.Zu ma.gnolia hinzufügen.Zu smarking.com hinzufügen.Zu Netvouz hinzufügen.Zu co.mments hinzufügen.Zu Connotea hinzufügen.Zu de.lirio.us hinzufügen.

Specials

Bytefresser Specials: Anno 1404

Umfrage

Welches ist Dein Lieblings-Anno?

(39 Stimmen)

1. Ganz klar: Anno 1800!
2. Anno 2205
3. Anno 2070
4. Anno 1404
5. Anno 1701
6. Anno 1503
7. Anno 1602
8. Anno Online

Benutzer-Counter

Besucher gesamt: 1.179.673
Besucher heute: 9
Besucher gestern: 56
Max. Besucher/Tag: 900
Gerade online: 2
Max. online: 77
Seiten gesamt: 20.262.224
Aufrufe diese Seite: 2.833

Tag-Cloud

  suchmaschinen     schritt     php-variablen     funktion     bytefresser     bookmark     ranking     aufruf     wörtern     entwicklung     keywords     august     keyword-array     donnerstag     schleife     postings     sonderzeichen     satzzeichen     textbeitrag     html-tags     zeichen     php-funktion     belieben     zuletzt     signatur     array     leerzeichen     diese     desweiteren     Übergabeparameter