Rebonsoir à tous,
J'ai mis au point une fonction pour traiter le titre d'une news afin de l'ajouter dans l'URL de la news, c'est pour optimiser l'url rewriting.
Je suis en UTF-8, c'est pour cela que j'utilise un mb_strtolower.
Le problème est que j'obtiens ce résultat là une fois ma fonction exécutée :
$titretiret = conf[?]urence-de-presse-[?]a-l-e3
[?] = les petits losange avec un point d'interrogation dedans
A l'origine la variable $titre est :
$titre = Conférence de presse à l'E3
Et je voudrais obtenir ceci :
$titretiret = conference-de-presse-a-l-e3
D'où vient le problème ? Merci
Modifié par Ben5back (01 Jul 2009 - 10:47)
J'ai mis au point une fonction pour traiter le titre d'une news afin de l'ajouter dans l'URL de la news, c'est pour optimiser l'url rewriting.
Je suis en UTF-8, c'est pour cela que j'utilise un mb_strtolower.
Le problème est que j'obtiens ce résultat là une fois ma fonction exécutée :
$titretiret = conf[?]urence-de-presse-[?]a-l-e3
[?] = les petits losange avec un point d'interrogation dedans
A l'origine la variable $titre est :
$titre = Conférence de presse à l'E3
Et je voudrais obtenir ceci :
$titretiret = conference-de-presse-a-l-e3
D'où vient le problème ? Merci

function stripspaces($titre)
{
$titresanschars = strtr(mb_strtolower($titre), "àáâãäåòóôõöøèéêëçÌÍÎÏìíîïùúûüÿñ²","aaaaaaooooooeeeeciiiiiiiiuuuuyn2");
$titretiret = str_replace(" ","-", $titresanschars);
$titretiret = str_replace("'","-", $titretiret);
$titretiret = preg_replace('`-{2,}`', '-', $titretiret);
if (preg_match("#-$#", $titretiret))
{
$titretiret = rtrim($titretiret, "-");
}
return $titretiret;
}
Modifié par Ben5back (01 Jul 2009 - 10:47)