Remplacer tous les liens indésirables dans une URL


Astuces-Jeux
WRInaute discret
WRInaute discret
 
Messages: 107
Inscription: 14 Aoû 2008

Remplacer tous les liens indésirables dans une URL

Message le Lun Mar 23, 2009 17:41

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.


serval2a
WRInaute accro
WRInaute accro
 
Messages: 3457
Inscription: 21 Mar 2005

Re: Remplacer tous les liens indésirables dans une URL

Message le Lun Mar 23, 2009 17:44

Salut,
str_replace()


Astuces-Jeux
WRInaute discret
WRInaute discret
 
Messages: 107
Inscription: 14 Aoû 2008

Re: Remplacer tous les liens indésirables dans une URL

Message le Lun Mar 23, 2009 17:46

serval2a a écrit:Salut,
str_replace()

Cette fonction ne remplace qu'un seul caractère par un autre, non ?


tryan
WRInaute passionné
WRInaute passionné
 
Messages: 2355
Inscription: 20 Fév 2005

Re: Remplacer tous les liens indésirables dans une URL

Message le Lun Mar 23, 2009 18:26

Sa peut peut être faire l'affaire ...
Code: Tout sélectionner
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: Tout sélectionner
OptimiseUrl($ta_variable)


bgdc
WRInaute impliqué
WRInaute impliqué
 
Messages: 723
Inscription: 23 Mai 2005

Re: Remplacer tous les liens indésirables dans une URL

Message le Lun Mar 23, 2009 18:44

Bonjour,

Tiens as un topic sur le nettoyage des urls

Ca devrait faire l'affaire je pense.


spout
WRInaute accro
WRInaute accro
 
Messages: 4382
Inscription: 14 Mai 2003

Re: Remplacer tous les liens indésirables dans une URL

Message le Lun Mar 23, 2009 20:16

Suite à ce topic:
http://forum.webrankinfo.com/fonctions-pour-creer-slug-seo-friendly-ur ... 76-15.html

En modifiant légèrement la fonction du membre WRI "Bool":
Code: Tout sélectionner
<?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;
}
?>


Astuces-Jeux
WRInaute discret
WRInaute discret
 
Messages: 107
Inscription: 14 Aoû 2008

Re: Remplacer tous les liens indésirables dans une URL

Message le Lun Mar 23, 2009 20:53

Le script de Tryan marche parfaitement ! Merci beaucoup. :)

Ça peut servir pour d'autres par contre. ;)


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google goo.gl

  • Analyse de popularit
    Cet outil vous permet d'analyser en dtails la "popularit" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premires URL trouves.
  • Transformer des simples citations de votre site en liens
    Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).
  • Echanges de liens
    Cet outil vous liste quelques sites qui font des liens vers des sites similaires au vtre, pour vous aider trouver des partenaires pour des changes de liens.
  • Calcul du taux de liens profonds
    Cet outil vous permet de calculer le taux de liens profonds vers un site web. Un lien profond est un lien qui ne pointe pas vers la page d'accueil mais au contraire vers une page interne du site. Les sites dont l'essentiel du rfrencement vient de leurs inscriptions dans des annuaires ont un taux de liens profonds faible ; l'inverse, les sites de rfrence ont souvent un taux de liens profonds plus important, signe que leur contenu a suscit de nombreux liens spontans.


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités