Problème titre en url

WRInaute occasionnel
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
 
M
mumbly
Guest
Y'a aussi ca pour virer les espaces et les 2 points
$chaine = preg_replace('`[: ]{1,}`','-',$chaine);
 
WRInaute occasionnel
Et pour ceux qui sont allergique aux expressions regulieres, il y a aussi :
Code:
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-
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut