In diesem Tutorial erkläre ich euch, wie man ein Hauptkeyword zu ein vertipper Keyword umwandeln kann. Hierzu habe ich eine kleine PHP-Klasse geschrieben, welche automatisch ein Wort per Zufallsgenerator mit einem oder mehreren vertipper versieht. Diese Klasse kann man dazu verwenden um zum Beispiel ein Content Managementsystem zu erweitern.
Im Falle eines Content Managementsystem, muss man häufig ein oder mehrere Keywords für jede einzelne Seite angeben. Manchmal hat man aber das Problem das man nicht genügend Keywords zusammen bekommt, da kann man versuchen noch zusätzlich ein paar vertipper bei den Keywords mit einzubauen. Da dies ein Tutorial für Fortgeschrittene Programmierer ist, verzichte ich auf eine ausführliche Erklärung. Nachfolgend findet ihr den Code von der PHP Klasse.
Sourcecode der PHP Klasse:
<?php
/**
* @author Nico Schubert
* @copyright Copyright © 2011, Nico Schubert
*/
class keywords {
/**
* Die Funktion vertipper_buchstabe() wandelt in
* einen vertipper Buchstaben um.
* @param string $buchstabe = fehlerfreier Buchstabe
* @return string Der vertipper Buchstabe
*/
public function vertipper_buchstabe($buchstabe) {
$tasten = array (
'q' => array (
'a',
'w'
),
'w' => array (
'q',
's',
'e'
),
'e' => array (
'w',
'd',
'r'
),
'r' => array (
'e',
'f',
't'
),
't' => array (
'r',
'g',
'z'
),
'z' => array (
't',
'h',
'u'
),
'u' => array (
'z',
'j',
'i'
),
'i' => array (
'u',
'k',
'o'
),
'o' => array (
'i',
'l',
'p'
),
'p' => array (
'o'
),
'a' => array (
'q',
's',
'y'
),
's' => array (
'a',
'w',
'd',
'x'
),
'd' => array (
's',
'e',
'f',
'c'
),
'f' => array (
'd',
'r',
'g',
'v'
),
'g' => array (
'f',
't',
'h',
'b'
),
'h' => array (
'g',
'z',
'j',
'n'
),
'j' => array (
'h',
'u',
'k',
'm'
),
'k' => array (
'j',
'i',
'l'
),
'l' => array (
'k'
),
'y' => array (
'a',
's',
'x'
),
'x' => array (
'y',
's',
'd',
'c'
),
'c' => array (
'x',
'd',
'f',
'v'
),
'v' => array (
'c',
'f',
'g',
'b'
),
'b' => array (
'v',
'g',
'h',
'n'
),
'n' => array (
'b',
'h',
'j',
'm'
),
'm' => array (
'm',
'j',
'k'
),
);
if (!isset ($tasten[$buchstabe])) {
return $buchstabe;
}
else {
$count = (count($tasten[$buchstabe]) - 1);
$zufall = rand('0', $count);
return $tasten[$buchstabe][$zufall];
}
}
/**
* Die Funktion vertipper() liefert eine Keyword
* zurueck, welches ein oder mehre Vertipper
* enthaelt
* @param string $keyword = Das Hauptkeyword ohne
* vertipper
* @param int $max_vertipper = Anzahl an vertippern
* @return string Das Keyword mit den vertipper.
*/
public function vertipper($keyword, $max_vertipper = 2) {
preg_match_all("/./", $keyword, $matches);
$array = $matches[0];
$buchstaben_zeichen = 0;
$lange = strlen($keyword) - 1;
for ($index = 0; $index < $max_vertipper; $index++) {
$z[] = rand('0', $lange);
}
$ausgabe = '';
foreach ($array as $buchstabe) {
if ($buchstabe != ' ' AND in_array($buchstaben_zeichen, $z)) {
$ausgabe .= $this->vertipper_buchstabe($buchstabe);
}
else
if ($buchstabe != ' ') {
$ausgabe .= $buchstabe;
}
else {
$ausgabe .= ' ';
}
$buchstaben_zeichen++;
}
return $ausgabe;
}
}
?>
Beispiel zum ansprechen der PHP Klasse:
<?php
$keyword = 'Beispiel Keyword';
$k = new keywords();
echo '<b>Hauptkeyword:</b><br>';
echo $keyword . '<br><br>';
echo '<b>Vertipper Keyword:</b><br>';
echo $k->vertipper($keyword, 1);
?>
Ausgabe:
Hauptkeyword:
Beispiel Keyword
Vertipper Keyword:
Beispiel Keaword
Erklärung:
Mit $keyword = 'Beispiel Keyword'; definiere ich das einzelne Keyword. Hier kann man eins oder mehrere Keywords angeben. In der nachfolgenden Zeile initialisiere ich mit $k = new keywords(); die PHP Klasse. Im weiteren Abschnitt kommen ein paar Echo-Ausgaben und mit $k->vertipper($keyword, 1); greife ich auf die Methode vertipper(); zu. Der Methode übergebe ich im ersten Parameter, das Keywort und im zweiten Parameter gebe ich die Anzahl der vertipper an. Die Methode vertipper(); gibt einen Returnwert einen String zurück. Der String ist unser vertipper Keyword.
Man könnte nun mehrmals die Methode aufrufen um unterschiedliche Varianten von vertipper Keywords zu bekommen. Damit es auch wirklich unterschiedliche sind könnte man mit der PHP Funktion similar_text() die Ähnlichkeit überprüfen.
Bei weiteren Fragen oder Anregungen würde ich mich freuen, wenn ihr das Supportforum verwendet.