par
AB » 24 août 2007, 23:15
Bon ben je me suis amusé a finaliser le truc, si ça intéresse qqn (P.S. si vous avez des idées pour améliorer, dites le moi). Notez que cette fonction ne sera pas utilisée tout le temps, donc pas besoin que ce soit une bombe dans les benchmarks. De toute façon la fonction de remplacement mets 0 secondes après 1000 éxécutions, donc bon ...
function MakeUrl($title)
{
$a_remplacer = array('À','Á','Â','Ã','Ä','Å','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ò','Ó','Ô','Õ','Ö','Ù','Ú','Û','Ü','Ý','à','á','â','ã','ä','å','ç','è','é','ê','ë','ì','í','î','ï','ð','ò','ó','ô','õ','ö','ù','ú','û','ü','ý','ÿ','ñ',' ');
$remplacement = array('A','A','A','A','A','A','C','E','E','E','E','I','I','I','I','O','O','O','O','O','U','U','U','U','Y','a','a','a','a','a','a','c','e','e','e','e','i','i','i','i','o','o','o','o','o','o','u','u','u','u','y','y','n','-');
$url = str_replace($a_remplacer,$remplacement,$rawurl);
$url = strtolower($url);
$url = ereg_replace("[^a-zA-Z0-9]", "-", $url);
while (strstr($url, '--'))
{
$url = str_replace('--', '-', $url);
}
return($url);
}
pourquoi une boucle et pas simplement
function MakeUrl($title)
{
$a_remplacer = array('À','Á','Â','Ã','Ä','Å','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ò','Ó','Ô','Õ','Ö','Ù','Ú','Û','Ü','Ý','à','á','â','ã','ä','å','ç','è','é','ê','ë','ì','í','î','ï','ð','ò','ó','ô','õ','ö','ù','ú','û','ü','ý','ÿ','ñ',' ');
$remplacement = array('A','A','A','A','A','A','C','E','E','E','E','I','I','I','I','O','O','O','O','O','U','U','U','U','Y','a','a','a','a','a','a','c','e','e','e','e','i','i','i','i','o','o','o','o','o','o','u','u','u','u','y','y','n','-');
$url = str_replace($a_remplacer,$remplacement,$rawurl);
$url = strtolower($url);
$url = ereg_replace("[^a-zA-Z0-9]", "-", $url);
$url = str_replace('--', '-', $url);
return($url);
}
[quote="lux"]Bon ben je me suis amusé a finaliser le truc, si ça intéresse qqn (P.S. si vous avez des idées pour améliorer, dites le moi). Notez que cette fonction ne sera pas utilisée tout le temps, donc pas besoin que ce soit une bombe dans les benchmarks. De toute façon la fonction de remplacement mets 0 secondes après 1000 éxécutions, donc bon ... :P
[php]function MakeUrl($title)
{
$a_remplacer = array('À','Á','Â','Ã','Ä','Å','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ò','Ó','Ô','Õ','Ö','Ù','Ú','Û','Ü','Ý','à','á','â','ã','ä','å','ç','è','é','ê','ë','ì','í','î','ï','ð','ò','ó','ô','õ','ö','ù','ú','û','ü','ý','ÿ','ñ',' ');
$remplacement = array('A','A','A','A','A','A','C','E','E','E','E','I','I','I','I','O','O','O','O','O','U','U','U','U','Y','a','a','a','a','a','a','c','e','e','e','e','i','i','i','i','o','o','o','o','o','o','u','u','u','u','y','y','n','-');
$url = str_replace($a_remplacer,$remplacement,$rawurl);
$url = strtolower($url);
$url = ereg_replace("[^a-zA-Z0-9]", "-", $url);
while (strstr($url, '--'))
{
$url = str_replace('--', '-', $url);
}
return($url);
}
[/php][/quote]
pourquoi une boucle et pas simplement
[php]function MakeUrl($title)
{
$a_remplacer = array('À','Á','Â','Ã','Ä','Å','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ò','Ó','Ô','Õ','Ö','Ù','Ú','Û','Ü','Ý','à','á','â','ã','ä','å','ç','è','é','ê','ë','ì','í','î','ï','ð','ò','ó','ô','õ','ö','ù','ú','û','ü','ý','ÿ','ñ',' ');
$remplacement = array('A','A','A','A','A','A','C','E','E','E','E','I','I','I','I','O','O','O','O','O','U','U','U','U','Y','a','a','a','a','a','a','c','e','e','e','e','i','i','i','i','o','o','o','o','o','o','u','u','u','u','y','y','n','-');
$url = str_replace($a_remplacer,$remplacement,$rawurl);
$url = strtolower($url);
$url = ereg_replace("[^a-zA-Z0-9]", "-", $url);
$url = str_replace('--', '-', $url);
return($url);
}
[/php]