String SEO optimieren (creating SEO friendly URL)
English Version: Creating SEO friendly URL
Die u.g. Funktion seofy()
erzeugt aus einem String eine SEO freundliche Version.
Es werden Umlaute und andere nicht im ASCII Zeichensatz enthaltenen Buchstaben entweder auf das
Grundform Äquivalent reduziert (z.B.: aus é
wird e
und aus ú
wird u
) oder
komplett umschrieben (z.B.: aus ß
wird ss
und aus ü
wird ue
).
Dies gelingt zum Einen da initial die php Funktion preg_replace
die Ersetzung mittels unicode -
also Unicode Regular Expressions - vornimmt und zum
Anderen weil mittels php Funktion iconv mit Option TRANSLIT
eine annähernde Übersetzung versucht wird.
Zitat php.net zu iconv und TRANSLIT:
Wenn Sie die Zeichenkette //TRANSLIT an out_charset anhängen, wird die Transliteration aktiviert. Das bedeutet, dass ein Zeichen, das im Zielzeichensatz nicht dargestellt werden kann mit einem oder mehreren ähnlich aussehenden Zeichen annähernd dargestellt werden kann.[…]
Beispiele
Straßenfest in München
strassenfest-in-muenchen
José Ignacio López de Arriortúa
jose-ignacio-lopez-de-arriortua
<?php
/**
* bereitet einen String SEO optimiert auf
* @param String $sString
* @return String $sString SEO optimierter String
*/
function seofy ($sString = '')
{
$sString = preg_replace ('/[^\pL\d_]+/u', '-', $sString);
$sString = trim ($sString, "-");
$sString = transliterator_transliterate('de-ASCII; Any-Latin; Latin-ASCII;', $sString);
$sString = iconv ('utf-8', "ascii//TRANSLIT//ignore", $sString);
$sString = strtolower ($sString);
$sString = preg_replace ('/[^-a-z0-9_]+/', '', $sString);
return $sString;
}
Links
- Erläuterung des Begriffs "SEO" bei wikipedia: https://de.wikipedia.org/wiki/Suchmaschinenoptimierung
- iconv bei php.net: http://php.net/manual/de/function.iconv.php
- Unicode Regular Expressions: http://www.regular-expressions.info/unicode.html