Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/09/2007, 12h16   #1
Nouveau Membre du Club
 
Étudiant
Inscription : juin 2004
Messages : 78
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2004
Messages : 78
Points : 34
Points : 34
Par défaut Formatage titre > url

Hello

J'aurais besoin d'une aide pour mon petit convertisseur.
Je fais de l'url rewriting et jaimerais bien placé le titre dans mon lien pour
une meilleur idée du contenu plutot que de n'avoir que "ID.html"
Le problème est qu'un titre peut avoir pleins de caractères spéciaux, des kanjis etc...


Jai donc fais une fonction qui vire les accents et supprime tout les autres caractères:

Code :
1
2
3
4
5
6
 
function format_url($title) {
	$title = strtr($title, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ -'", "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn___");
	$title = ereg_replace('[^\w]','',$title);
	return $title;
}
La deuxième partie n'a pas l'air de fonctionner (j'ai trouvé la première sur un site, elle parait complète),
dans le sens ou rien n'est retourné, pourtant je comprend que tout caractères
non alpha, numérique ou _ doit etre remplacer par rien non?
sur le site http://www.expreg.com/ancrages.php il y a bien \W mais il n'y a pas l'underscore (erreur de leur part?)
et surtout les caractères comme les /,! restent dans le titre
je tourne en rond ca se trouve jai juste oublier quelquechose mais je ne vois pas
quand je vois quelquechose simple comme cela et que j'arrive pas a trouver...


Merci de votre aide
ddelec24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2007, 21h15   #2
Invité de passage
 
Inscription : septembre 2007
Messages : 1
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Vienne (Poitou Charente)

Informations forums :
Inscription : septembre 2007
Messages : 1
Points : 1
Points : 1
Envoyer un message via MSN à f.arrosere Envoyer un message via Skype™ à f.arrosere
Salut, tu as voulu utiliser un pattern d'une PCRE dans un POSIX.
Si tu veux donc faire le replace utilise donc preg_replace('|\W|', '_', $TA_CHAINE);

Voila, bonne soirée.

Florian
f.arrosere est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2007, 21h37   #3
Nouveau Membre du Club
 
Étudiant
Inscription : juin 2004
Messages : 78
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2004
Messages : 78
Points : 34
Points : 34
effectivement


merci beaucoup ca fais ce que je voulais, jétais pas très loin, juste un peu mélanger les pinceaux
ddelec24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h37.


 
 
 
 
Partenaires

Hébergement Web