Remplacer tous les liens indésirables dans une URL

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par u93598, 23 Mars 2009.

  1. u93598
    u93598 WRInaute discret
    Inscrit:
    14 Août 2008
    Messages:
    75
    J'aime reçus:
    0
    Bonjour,

    J'essaye de faire une modification au niveau de mon système de news sur mon site et j'aimerais que l'URL qui affiche la nouveauté soit : "nom-de-la-new-news[id-news].html (Exemple : "nouveau-jeu-sur-prizee-news30.html").

    Donc, existe-t-il une solution afin de remplacer tous les caractères indésirables (tels que les guillemets, espaces, deux points) en tirets ?

    Merci.
     
  2. serval2a
    serval2a WRInaute accro
    Inscrit:
    21 Mars 2005
    Messages:
    2 550
    J'aime reçus:
    0
    Salut,
    str_replace()
     
  3. u93598
    u93598 WRInaute discret
    Inscrit:
    14 Août 2008
    Messages:
    75
    J'aime reçus:
    0
    Cette fonction ne remplace qu'un seul caractère par un autre, non ?
     
  4. tryan
    tryan WRInaute passionné
    Inscrit:
    20 Février 2005
    Messages:
    2 229
    J'aime reçus:
    0
    Sa peut peut être faire l'affaire ...
    Code:
    function OptimiseUrl($chaine)
    {    
    
        $chaine=strtolower($chaine);
        
        $accents = Array("/é/", "/è/", "/ê/","/ë/", "/ç/", "/à/", "/â/","/á/","/ä/","/ã/","/å/", "/î/", "/ï/", "/í/", "/ì/", "/ù/", "/ô/", "/ò/", "/ó/", "/ö/");
        $sans = Array("e", "e", "e", "e", "c", "a", "a","a", "a","a", "a", "i", "i", "i", "i", "u", "o", "o", "o", "o");
        
        $chaine = preg_replace($accents, $sans,$chaine);  
        
        $chaine = preg_replace('#[^a-z0-9_-]#','-',$chaine);
        while (strpos($chaine,'--') !== false) $chaine = str_replace('--','-',$chaine);
        
        return $chaine; 
    }
    
    Appel de la variable
    Code:
    OptimiseUrl($ta_variable)
     
  5. bgdc
    bgdc WRInaute impliqué
    Inscrit:
    23 Mai 2005
    Messages:
    536
    J'aime reçus:
    0
    Bonjour,

    Tiens as un topic sur le nettoyage des urls

    Ca devrait faire l'affaire je pense.
     
  6. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 182
    J'aime reçus:
    351
    Suite à ce topic:
    https://www.webrankinfo.com/forum/fonctions-pour-creer-slug-seo-friendly-ur ... 76-15.html

    En modifiant légèrement la fonction du membre WRI "Bool":
    Code:
    <?php 
    function slug($string, $separator = '-'){
    	// remplace les caractères accentués par leur version non accentuée
    	$out = strtr( $string,
    	        'ŠŽšžŸÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöøùúûüýÿ',
    	        'SZszYAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy' );
    	
    	// remplace les caractères non standards
    	$out = preg_replace(
    	        array(
    	            '`^[^A-Za-z0-9]+`',
    	            '`[^A-Za-z0-9]+$`',
    	            '`[^A-Za-z0-9]+`' ),
    	        array('','',$separator),
    	        $out );
    	
    	$out = strtolower(ltrim($out, $separator));
    	return $out; 
    }
    ?>
    
     
  7. u93598
    u93598 WRInaute discret
    Inscrit:
    14 Août 2008
    Messages:
    75
    J'aime reçus:
    0
    Le script de Tryan marche parfaitement ! Merci beaucoup. :)

    Ça peut servir pour d'autres par contre. ;)
     
Chargement...
Similar Threads - Remplacer liens indésirables Forum Date
[Résolu] Remplacer URL trop longues par des liens cliquables Développement d'un site Web ou d'une appli mobile 12 Avril 2007
remplacer les espaces par des "-" dans les liens P URL Rewriting et .htaccess 20 Décembre 2004
Htacces : comment remplacer _ par : URL Rewriting et .htaccess 18 Juin 2019
remplacer version desktop par version mobile first Problèmes de référencement spécifiques à vos sites 19 Mai 2019
WordPress Par quoi remplacer MailPoet ? Débuter en référencement 1 Février 2019
Dans un script, Remplacer le mode « hasard » par le mode « suivant » Développement d'un site Web ou d'une appli mobile 3 Novembre 2018
Un logiciel pour remplacer Google Analytics ? Google Analytics 20 Juin 2018
Remplacer des redirections 302 en 301 Développement d'un site Web ou d'une appli mobile 23 Mai 2018
Remplacer une url par une autre URL Rewriting et .htaccess 29 Octobre 2016
Dans un formulaire, remplacer l’apostrophe dactylographique par l’apostrophe typographique Développement d'un site Web ou d'une appli mobile 18 Février 2016
Remplacer les underscores par des tirets URL Rewriting et .htaccess 1 Septembre 2015
Peut-on remplacer un lien dans la SERP ? Problèmes de référencement spécifiques à vos sites 27 Juin 2015
modifier et remplacer le contenu des pages web pour google Rédaction web et référencement 7 Août 2014
Remplacer textarea par une editeur de texte Développement d'un site Web ou d'une appli mobile 20 Juin 2014
Lien sur plusieurs éléments : remplacer par du JS Débuter en référencement 20 Mars 2014
Remplacer page référencée par une autre. Débuter en référencement 28 Octobre 2013
Remplacer des tags obsolètes Rédaction web et référencement 12 Septembre 2013
[MYSQL] Comment remplacer caractères dans tous les champs de toutes les tables d'une base? Développement d'un site Web ou d'une appli mobile 11 Juillet 2013
Remplacer du javascript par du html Problèmes de référencement spécifiques à vos sites 14 Novembre 2012
Est-il mieux de remplacer un mot inutile répété 25 fois sur page par une image ? Référencement Google 26 Octobre 2012