Bonjour à tous
je voulais savoir
[:alpha:]
[:alnum:]
...
s'utilise avec quelles fonctions
Bonjour à tous
je voulais savoir
[:alpha:]
[:alnum:]
...
s'utilise avec quelles fonctions
Les fonctions POSIX (ereg*), dépréciées, comme celles de l'extension PCRE (preg_*). A noter que pour ces dernières, elles doivent apparaître dans une classe (ie [[:alpha:]] par exemple).
pour ereg apparement il faut utiliser [[:alpha:]]
Quand j'utilise [:alpha:] ça ne passe pas avec les lettres accentuées. Comment je dois les inclure simplement.
ereg('[[:alpha:]]',$val);
Si $val='ééé' par exemple ça me renvoie false.
merci
- Les fonctions ereg*, comme je l'ai dit, sont dépréciées : il est vivement conseillé d'utiliser l'extension PCRE ;
- Les fonctions ereg*, contrairement à celles de l'extension PCRE, ne tiennent pas compte des locales donc [:alpha:] est le strict équivalent à [a-zA-Z] excluant tous nos caractères accentués. Les fonctions preg_* devraient en revanche, inclure les caractères accentués, si vos locales sont configurés en ce sens.
j'ai tout compris merci, mais j'ai toujours un probleme
preg_match('[[:alpha:]]',$val);
me renvoie un warning :
Warning: preg_match() [function.preg-match]: Compilation failed: POSIX named classes are supported only within a class at offset 0 in test_script.php on line 52
merci de votre patience
Il vous manque les délimiteurs de début/fin de motif (puisqu'il vous prend vos premier/dernier crochets pour remplir cette fonction) :
Ces délimiteurs sont indispensables puisque l'on peut placer des options à la fin du motif. A peu près n'importe quel caractère peut faire office de délimiteur. Il est cependant judicieux d'écarter tout métacaractère et tout caractère figurant dans ce motif (car il devra alors être échappé).
Code : Sélectionner tout - Visualiser dans une fenêtre à part preg_match('~[[:alpha:]]~',$val);
Pour approfondir le sujet : Initiation aux expressions régulières en PHP.
C'est bien compliqué quand même ces expressions régulières. Je fais des essais pour comprendre mais c'est un peu dur.
[[:alpha:]] chaine qui contient au moins une lettre
^[[:alpha:]] chaine qui commence par une lettre
[[:alpha:]]$ chaine qui fini par une lettre
mais quand je fais ^[[:alpha::]]$ pour aaa222aaaa ça ne marche pas. J'ai beau lire tous les cours que je trouve sur le net, c'est plutot indigeste.
merci
Signifie une chaîne d'une seule "lettre".Envoyé par mosto
Pour une chaîne composée uniquement de lettres à raison d'au moins une, ce serait :
^[[:alpha:]]+$
Les possibilités son multiples
Oui mais justement si je veux tester une chaine du type
aaaa1111aaaaa
il faut faire comment
Et plus précisément ?Envoyé par mosto
^[[:alpha:]]+[[:digit:]]+[[:alpha:]]+$
Au moins une lettre puis au moins un chiffre et enfin au moins une lettre ?
(on peut raccourcir en écrivant \d au lieu de [[:digit:]])
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager