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 Comments
marcus on mars 25th, 2008
Jag tror att WordPress skapar sina slug’ar i funktionen sanitize_title_with_dashes. Så kolla där.
Tobias on oktober 8th, 2009
Riktigt nice. Dock strulade det när jag klippte in det. Jag fick skriva om alla /’ och ‘/
Tusen tack.
Fredrik on mars 8th, 2010
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?

Johan on mars 22nd, 2008
Inte har väll wordpress slug stöd för svenska tecken? Vart/hur grejjar jag det med hjälp av din tjusiga kod? :)