Comment convertir les espaces %20 en tiret ?

Discussion dans 'URL Rewriting et .htaccess' créé par Pascal Richard, 20 Mai 2006.

  1. Pascal Richard
    Pascal Richard Nouveau WRInaute
    Inscrit:
    13 Septembre 2005
    Messages:
    12
    J'aime reçus:
    0
    Bonjour,

    J'ai regardé avec attention dans le forum avant de poster ce message.

    Je suis en train de faire des tests rewriting et j'ai une url initiale de ce type :

    http://www.site.com/dossier/index.php?a ... 0actualite

    mon fichier htaccess
    Options +FollowSymlinks
    RewriteEngine on
    RewriteRule ^article-([0-9]+)-([a-zA-Z]+)\.html$ /dossier/index.php?act=comment&idnews=$1&titre=$2 [L]

    mon url rewriting devrait être la suivante :
    http://www.site.com/dossier/article-12- ... alite.html

    Mais le problème, c'est l'espace qui est interprété par %20 dans le titre de ma news.

    Comment, pour le titre, je peux convertir %20 (ou tout autre signe de ponctuation) en (tiret) - afin que je puisse obtenir une url propre ?

    Merci par avance pour vos conseils
     
  2. magic corp.
    magic corp. WRInaute occasionnel
    Inscrit:
    17 Juin 2004
    Messages:
    395
    J'aime reçus:
    0
    Petite fonction perso, que j'utilise pour convertir du texte pour le mettre dans mes URL.
    Code:
    function tep_text_for_uri($text) {
    		$tofind = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ";
    		$replac = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn";
    		$text = strtr($text,$tofind,$replac);
    		
    		$text = strtolower($text);
    		
    		$text = ereg_replace("[^a-zA-Z0-9]", "-", $text);
    		
    		while (strstr($text, '--')) 
    			$text = str_replace('--', '-', $text);
    			
    		return(ereg_replace("-$", "", $text));
    	}
    Elle vire les accent, met en minuscule et remplace tout les caractère non alphanumerique par des tirets.
     
  3. mate
    mate WRInaute discret
    Inscrit:
    28 Septembre 2002
    Messages:
    136
    J'aime reçus:
    0
    un coup de urlencode(ton titre d'actu)
    avant de construire ton lien
    du moins pour les espace qui seront convertis en +
     
  4. Pascal Richard
    Pascal Richard Nouveau WRInaute
    Inscrit:
    13 Septembre 2005
    Messages:
    12
    J'aime reçus:
    0
    Merci "magic corp" pour cette regex que j'ai donc placé dans le fichier function.

    Elle fonctionne, c'est très efficace, la syntaxe est correcte maintenant les espaces sont remplacés par des tirets.

    Mais je ne parviens pas à atteindre la page en question.

    Cela vient peut-être du fait que la variable du titre à elle seule affiche les tirets de la regex. Ce qui pourrait gêner l'interprétation pour le rewriting... C'est curieux pourtant, à moins que le problème se situe dans le .htaccess

    Pour le post de "mate", les espaces convertis en +, je ne suis pas certain que ce soit optimal pour le référencement... merci quand même je vais essayer de tester cela.

    Si vous avez une idée en ce qui concerne la cible de la page...

    Merci pour votre aide
     
  5. Pascal Richard
    Pascal Richard Nouveau WRInaute
    Inscrit:
    13 Septembre 2005
    Messages:
    12
    J'aime reçus:
    0
    Bonjour,

    Juste pour vous informer que tout fonctionne normalement après avoir fait une petite modification dans mon fichier htaccess.

    J'ai donc remplacé :

    Code:
    RewriteRule ^article-([0-9]+)-([a-zA-Z]+)\.html$
    très simplement par :

    Code:
    RewriteRule ^article-([0-9]+)-(.*)\.html$
    Encore merci pour votre aide

    Bonne continuation à vous.
     
Chargement...
Similar Threads - convertir espaces %20 Forum Date
Convertir un compte fb en page fb Facebook 24 Mars 2021
Convertir page web en UTF-8 Développement d'un site Web ou d'une appli mobile 26 Janvier 2020
Convertir un site htm en wordpress Développement d'un site Web ou d'une appli mobile 1 Décembre 2019
Astuce RewriteMap : convertir un .dbm.pag en txt ? Débuter en référencement 8 Juillet 2019
Lien rompu pour convertir un profil en page Facebook ? Facebook 28 Décembre 2015
[Aide] convertir balise <iframe> en <object> Développement d'un site Web ou d'une appli mobile 10 Septembre 2015
Convertir ses pages web en pdf pour traduction ou correction Développement d'un site Web ou d'une appli mobile 12 Juillet 2015
convertir chaine en date Développement d'un site Web ou d'une appli mobile 16 Avril 2014
HTML5 convertir page web ISO en UTF-8 Développement d'un site Web ou d'une appli mobile 25 Juillet 2013
img src=blob: comment convertir en fichier? Développement d'un site Web ou d'une appli mobile 26 Juin 2013
convertir date décimal Développement d'un site Web ou d'une appli mobile 18 Mai 2013
Convertir input checkbox Développement d'un site Web ou d'une appli mobile 27 Avril 2013
Convertir texte pour URL en PHP [Résolu] Développement d'un site Web ou d'une appli mobile 8 Mai 2012
Convertir les sauts de lignes en <br /> Le café de WebRankInfo 12 Octobre 2011
convertir mp4 avec ffmpeg Développement d'un site Web ou d'une appli mobile 14 Mai 2011
Arguments pour convertir une personne aux DIV et SPAN au lieu de TABLE Développement d'un site Web ou d'une appli mobile 11 Mai 2011
Convertir format video à la volée Développement d'un site Web ou d'une appli mobile 6 Mai 2011
Comment convertir un site sous SPIP en iso-8859-1 ? Développement d'un site Web ou d'une appli mobile 28 Avril 2011
Convertir chaine en code type &#111; ou #x6A; Développement d'un site Web ou d'une appli mobile 17 Novembre 2010
Comment puis-je convertir l'extension de mes très anciennes pages htm en html? Netlinking, backlinks, liens et redirections 25 Août 2010