In diesem Tutorial erkläre ich euch, wie Sie ein Hauptkeyword zu ein Vertipper Keyword umwandeln können. Hierzu habe ich eine kleine PHP-Klasse geschrieben, welche automatisch ein Wort per Zufallsgenerator mit einem oder mehrere Vertipper versieht. Diese Klasse können Sie dazu verwenden, um unter anderem ein Content Managementsystem zu erweitern.
Im Falle eines Content-Management-Systems müssen Sie häufig ein oder mehrere Keywords für jede einzelne Seite angeben. Manchmal hat Sie aber das Problem, dass Sie nicht genügend Keywords zusammen bekommen, da können Sie versuchen noch zusätzlich ein paar Vertipper bei den Keywords 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 können Sie 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 Keywords 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.
Es wäre möglich mehrmals die Methode aufrufen, um unterschiedliche Varianten von Vertipper Keywords zu bekommen. Damit es wirklich unterschiedliche sind, könnten Sie 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.