Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2785 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu] Expression régulière pour enlever les accents..

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] Expression régulière pour enlever les accents..

n°1269690
pouzy
Ne signe pas d'autographes..
Posté le 19-12-2005 à 08:32:41  profilanswer
 

Bonjour à tous !
 
Je suis à la recherche d'une fonction, je pense en expressions régulières, qui vérifierait la syntaxe d'un mot, et si ce mot comporte autre chose que des lettres a-Z ou des chiffres 0-9 ( donc des accents, des apostrophes, et autres caractères ), la fonction retourne un beau false;
 
QUelqu'un a une idée ? Merci :D


Message édité par pouzy le 19-12-2005 à 11:04:04

---------------
Hello hello super jello
mood
Publicité
Posté le 19-12-2005 à 08:32:41  profilanswer
 

n°1269726
anapajari
s/travail/glanding on hfr/gs;
Posté le 19-12-2005 à 09:45:05  profilanswer
 

La ligne dessous te retournera vrai si il existe un caractère bizarre, tu as juste à faire not ça si tu veux que ça retourne fasle!

Code :
  1. preg_match("/[^A-z0-9]/", $taChaine);

n°1269736
pouzy
Ne signe pas d'autographes..
Posté le 19-12-2005 à 10:09:19  profilanswer
 

Euh...  
J'ai toujours un peu de mal avec les fonctions..  
Ca devrait donner un truc genre :
 

Code :
  1. function ValidPseudo($chaine)
  2. {
  3. if (preg_match("/[^A-z0-9]/", $chaine))
  4. return false;
  5. return true;
  6. }


 
?


Message édité par pouzy le 19-12-2005 à 10:21:57

---------------
Hello hello super jello
n°1269746
pouzy
Ne signe pas d'autographes..
Posté le 19-12-2005 à 10:19:45  profilanswer
 

Ca n'a pas l'air de fonctionner :/ !


---------------
Hello hello super jello
n°1269753
anapajari
s/travail/glanding on hfr/gs;
Posté le 19-12-2005 à 10:30:18  profilanswer
 

pouzy a écrit :

Ca n'a pas l'air de fonctionner :/ !


 :non: on dit "Je n'arrive pas à le faire marcher"....
 
En plus j'ai testé ça marche ton truc!!!

Code :
  1. <?
  2. function ValidPseudo($chaine)
  3. {
  4.   if (preg_match("/[^A-z0-9]/", $chaine)){
  5.     return false;
  6.   } else {
  7.     return true;
  8.   }
  9. }
  10. $pseudo = "fkdsflkjfezrtr";
  11. if ( ValidPseudo($pseudo)){
  12.   print "Pseudo Valide...";
  13. } else {
  14.   print "Caractere incorrect dans le pseudo";
  15. }
  16. ?>


n°1269774
pouzy
Ne signe pas d'autographes..
Posté le 19-12-2005 à 10:59:33  profilanswer
 

Hihi ^^ Bizarre.. Je comprends pas trop pourquoi ça n'avait pas l'air de fonctionner chez moi.. M'enfin :
J'en ai fait une un petit peu mieux, qui fonctionne :
 

Code :
  1. function ValidPseudo($chaine)
  2.   {
  3.   if (preg_match("/[^a-zA-Z0-9-$]*/", $chaine))
  4.   return false;
  5.   return true;
  6.   }


 
Le petit problème c'est qu'elle n'accepte pas des tirets, et généralement les gens aiment bien les pseudos à tiret.. :/ Ca doit être un tout petit truc à rajouter :x
 
Merci :hello:
 
EDIT : aha, trouvé ! :) Pour ceux qui veulent :  
 

Code :
  1. function ValidPseudo($chaine) 
  2.      if (preg_match("#^([a-zA-Z0-9-]*)$#", $chaine))
  3.      { 
  4.           return true;
  5.      }
  6.      else
  7.      {
  8.      return false;
  9.      }
  10. }


 
Merci à tous ;)


Message édité par pouzy le 19-12-2005 à 11:03:42

---------------
Hello hello super jello
n°1270209
afbilou
pouet your life
Posté le 19-12-2005 à 19:32:53  profilanswer
 

function ValidPseudo($chaine)  
{  
    return( preg_match('#^[a-z0-9-]*$#i', $chaine) )
}
 
Définir le masque de recherche avec des quote ' plutot qu'avec " ... c'est "plus rapide" meme si c'est absolument negligeable.
 
retourner directement ce ke te renvoie preg_match ... c'est kand meme evident mais bon :$
 
virer les parentheses de ton masque de recherche parce ke d'une part elles ne servent a rien et d'autre part elles ralentissent l'execution de preg_match ... meme si la encore c absolument negligeable.
 
utiliser l'option i (no case sensitive) pour travailler sur un masque plus etit, execution plus rapide et tout et tout ...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu] Expression régulière pour enlever les accents..

 

Sujets relatifs
[Java] synchro entre thread: wait() et notify() -> pb [RESOLU][RESOLU] Une erreur 998 lors d'un CreateProcess()
[batch] [résolu] je n'arrive pas a faire une temporisationAlgo - Défilement de texte "doux" [Résolu]
[RESOLU] Problème avec un IF imbriqué dans une boucle FOR[RESOLU][SED] Modifier une chaine avec un caractère mystère
calulatrice d expression arithmetiquepb résolu
[RESOLU][SH] Compter le nombre d'occurences d'un caractère....[résolu] avoir le dossier local dans lequel on est ?
Plus de sujets relatifs à : [Résolu] Expression régulière pour enlever les accents..


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR