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 29/05/2007, 13h52   #1
Nouveau Membre du Club
 
Développeur informatique
Inscription : septembre 2006
Messages : 143
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : septembre 2006
Messages : 143
Points : 31
Points : 31
Par défaut Problème de formatage de chaine de caractère

Bonjour,

Je débute dans les expressions régulières et j'ai un petit soucis.
Je dois formater une chaine de caractères saisie par un utilisateur.
Je dois remplacer les caractères accentués par les mêmes non accentués et les ponctuations et les espaces par des '_'.

Voici le code que j'utilise (pas complet) :
Code :
1
2
3
4
 
$pattern = array('/à/','/â/','/ä/','/é/','/è/','/ê/','/ë/','/ï/','/î/','/ô/','/ö/','/ù/','/ü/','/û/','/ç/','/ /');
$replace = array('a','a','a','e','e','e','e','i','i','o','o','u','u','u','c','_');
$var = preg_replace($pattern,$replace,$var_saisie);
Si je saisi une chaine avec divers caractères accentués et des espaces, ça me remplace bien les espaces mais pas les caractères accentués.
Quelqu'un pourrait m'expliquer le fonctionnement ?
lecra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2007, 14h05   #2
Membre chevronné
 
Avatar de Korko Fain
 
Étudiant
Inscription : août 2005
Messages : 632
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2005
Messages : 632
Points : 632
Points : 632
Essaye cette fonction la plutot (trouvée sur le net)
Code :
strtr($chaine, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ", "aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn");
Korko Fain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2007, 14h09   #3
Nouveau Membre du Club
 
Développeur informatique
Inscription : septembre 2006
Messages : 143
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : septembre 2006
Messages : 143
Points : 31
Points : 31
merci, ça marche mais il faut que je résolve un problème de format iso
lecra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2007, 14h10   #4
Membre chevronné
 
Avatar de Korko Fain
 
Étudiant
Inscription : août 2005
Messages : 632
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2005
Messages : 632
Points : 632
Points : 632
met l'encodage de ton fichier à ISO et copie la ligne que je t'ai donné
Laisse ton logiciel faire le transtypage lui même ^^
Korko Fain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2007, 14h12   #5
Nouveau Membre du Club
 
Développeur informatique
Inscription : septembre 2006
Messages : 143
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : septembre 2006
Messages : 143
Points : 31
Points : 31
ça roule merci

mais si je veux le faire en utilisant les regex, c'est possible ?
lecra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2007, 14h17   #6
Membre chevronné
 
Avatar de Korko Fain
 
Étudiant
Inscription : août 2005
Messages : 632
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2005
Messages : 632
Points : 632
Points : 632
C'est inutile ici. Tu va consommer des ressources inutilement.
Korko Fain 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 06h58.


 
 
 
 
Partenaires

Hébergement Web