Wie kann ich eine PHP-Variable von "Mein Unternehmen & Mein Name" in "Mein-Unternehmen-Mein-Name" konvertieren?
Ich muss alles in Kleinbuchstaben schreiben, alle Sonderzeichen entfernen und Leerzeichen durch Bindestriche ersetzen.
Antworten:
Diese Funktion erstellt eine SEO-freundliche Zeichenfolge
function seoUrl($string) {
//Lower case everything
$string = strtolower($string);
//Make alphanumeric (removes all other characters)
$string = preg_replace("/[^a-z0-9_\s-]/", "", $string);
//Clean up multiple dashes or whitespaces
$string = preg_replace("/[\s-]+/", " ", $string);
//Convert whitespaces and underscore to dash
$string = preg_replace("/[\s_]/", "-", $string);
return $string;
}
sollte gut sein :)
-Symbol entfernen ?
$string = trim($string);und das wird Ihr Problem lösen.
Ersetzen bestimmter Zeichen: http://se.php.net/manual/en/function.str-replace.php
Beispiel:
function replaceAll($text) {
$text = strtolower(htmlentities($text));
$text = str_replace(get_html_translation_table(), "-", $text);
$text = str_replace(" ", "-", $text);
$text = preg_replace("/[-]+/i", "-", $text);
return $text;
}
Ja, und wenn Sie mit Sonderzeichen umgehen möchten, müssen Sie diese im Muster deklarieren, da sie sonst möglicherweise gelöscht werden. Sie können es so machen:
strtolower(preg_replace('/-+/', '-', preg_replace('/[^\wáéíóú]/', '-', $string)));