Slug-funktion för svenska tecken

En slug är några ord som beskriver en webbsida. Slug är vanligtvis en URL-vänlig version av sidans titel, alltså något som sökmotorer gillar bättre än en ”konstig” URL som http://www.minsida.se/sida.php?id=45. Exempelvis, om sidans titel är ”Timrå IK är dom bästa!!” så skulle en slug-URL till detta kunna vara http://www.minsida.se/timra-ik-ar-dom-basta

De slug-funktioner i php som jag hittat på nätet har inte haft något stöd för svenska tecken (åäö) så jag var tvungen att skriva en egen sådan function. Om någon kan förbättra den så skicka in er förbättrade version. Hur som haver här är den:

function slug($string)
{
$unPretty = array(’/å/’,’/ä/’,’/ö/’,’/ü/’, ’/Å/’, ’/Ä/’, ’/Ö/’, ’/Ü/’,’/é/’);
$pretty = array(’a’,’a’, ’o’, ’u’, ’A’, ’A’, ’O’, ’U’,’e’);
$string = preg_replace($unPretty, $pretty, $string); // convert swedish characters
$string = preg_replace( ’/[^a-zA-Z0-9- ]/’, ”,$string); // replace non-characters
$string = str_replace(” ”, ”-”, $string); // replace spaces by dashes
$string = strtolower($string); // Make it lowercase
return $string;
}

4 reaktioner till “Slug-funktion för svenska tecken”

  1. Jag tror att WordPress skapar sina slug’ar i funktionen sanitize_title_with_dashes. Så kolla där.

  2. Hej, intressant. Har letat efter en sån här lösning. Du råkar inte veta lite mer exakt vart jag hittar filen som jag kan klistra in din slugfunktion i?

Lämna ett svar

E-postadressen publiceras inte. Obligatoriska fält är märkta *

Denna webbplats använder Akismet för att minska skräppost. Lär dig hur din kommentardata bearbetas.