[php] chaine de caracterer pour une jolie url

Résolu
nicorz Messages postés 108 Statut Membre -  
 Utilisateur anonyme -
Bonjour,

Je ne savais pas trop quoi mettre comme titre, en fait je me demandais si ça n'existait pas une fonction en php pour faire facilement des url comme ccm fait pour les lien du forum.
J'aimerais faire le même genre de chose mais j'ai pas trop envie de me casser la tête si une fonction existe.
Donc en claire j'aimerai par exemple transformer :

ma chaine de caractère qui à des caractères spéciaux !
en
ma-chaine-de-caractere-qui-a-des-caracteres-speciaux

merci d'avance :)
Configuration: Linux
Firefox 3.0.3

4 réponses

  1. societeserieuse Messages postés 202 Statut Membre 7
     
    url_encode();
    0
  2. nicorz Messages postés 108 Statut Membre 19
     
    je n'ai encore jamais vus de url_encode qui transformait
    ma chaine de caractère qui à des caractères spéciaux !
    en
    ma-chaine-de-caractere-qui-a-des-caracteres-speciaux

    Ce que je veux c'est mettre un "-" pour tous les mots (pas les "!&@...") et retirer les accents s'il y en a.
    0
  3. nicorz Messages postés 108 Statut Membre 19
     
    Ce n'est pas ça que je cherchais, j'ai trouvé ma réponse tout seul.
    La voilà pour ceux que ça intéresse.

    function transformUrl($url){
    	$a = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿŔŕ';
    	$b = 'aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRr';
    	$url = utf8_decode($url);
    	$url = strtr($url, utf8_decode($a), $b);
    	$url = str_replace(" ", "-", $url);
    	$url = ereg_replace("[^a-zA-Z0-9\-]", "", $url);
    	$url = ereg_replace("^-+", "", $url);
    	$url = ereg_replace("-+$", "", $url);
    	return $url;
    }
    
    0