Problème titre en url

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics


wasabi
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 420
Inscription: 13 Déc 2005

Problème titre en url

Message le Jeu Jan 19, 2006 18:24

Hello,
j'aimerais mettre le titre de ma page en url.

Je cherche une fonction qui permet d'enlever les espaces d'une chaine. je m'explique. On peut le faire avec un str_replace, si j'ai un seul espace à la fois.

par exemple : "bon jour" devient "bon-jour"

mais si j'ai : "bla bla bonjour : bonsoir blou blou" et que je veux "bla-bla-bonjour-bonsoir-blou-blou".

j'enlève d'abord le ":", ce qui donne "bla bla bonjour bonsoir blou blou", mais alors entre le bonjour et le bonsoir j'ai 2 espaces. donc avec un str_replace(" ", "-", $chaine" je me retrouve avec ça : bla-bal-bonjour--bonsoir-blou-blou.

ma question est donc, y a t'il un moyen de remplacer plusieurs espaces, que ce soit 2 ou plus par un seul, pour pouvoir ensuite mettre les tirets afin d'obtenir au final : "bla-bal-bonjour-bonsoir-blou-blou"

Merci d'avance
Dernière édition par wasabi le Jeu Jan 19, 2006 18:47, édité 1 fois.


rottman
WRInaute passionné
WRInaute passionné
 
Messages: 2121
Inscription: 6 Jan 2004

Message le Jeu Jan 19, 2006 18:32

Biensur, avec :

$url = preg_replace("/\s+/",'-',$str);


wasabi
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 420
Inscription: 13 Déc 2005

Message le Jeu Jan 19, 2006 18:40

ahhh super t'es génial rottman, merci ;)

jvais etudier la syntaxe pour comprendre :)

mumbly
WRInaute discret
WRInaute discret
 
Messages: 70
Inscription: 23 Nov 2005

Message le Jeu Jan 19, 2006 18:43

Y'a aussi ca pour virer les espaces et les 2 points
$chaine = preg_replace('`[: ]{1,}`','-',$chaine);


wasabi
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 420
Inscription: 13 Déc 2005

Message le Jeu Jan 19, 2006 18:52

d'accord je prends note ! merci :)

magic corp.
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 428
Inscription: 17 Juin 2004

Message le Jeu Jan 19, 2006 22:12

Et pour ceux qui sont allergique aux expressions regulieres, il y a aussi :
Code: Tout sélectionner
while (strstr($chaine, '--'))
  $chaine = str_replace('--', '-', $chaine);

J'ai remplacé les espaces par les tirets pour que ce soit plus visible.

Mais je suppose que les manières sité plus haut son plus performente.

-Magic-


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

Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité