Utilisation de eregi() pour détecter des caractères spéciaux

Résolu
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 - 20 juin 2005 à 18:55
cs_sjon Messages postés 861 Date d'inscription mardi 26 mars 2002 Statut Membre Dernière intervention 29 novembre 2006 - 8 juil. 2005 à 06:39
Bonjour,

Je souhaite vérifier qu'une chaîne ne comporte de caractères spéciaux. Pour ce faire, j'utilise la fonction eregi.
Malheureusement, mon code ne fonctionne pas car je ne rentre jamais dans mon si...

Mon code :
if(eregi("[\^'$()*+<>?#"{}\\]™§®¡¨¯¢©°£ª±¤\“¹¥\”²¦¬³µ¼÷¶½Þ•¾ß¿×ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝàáâãäåæçèé&êëì&íîïðñòóôõöøùúûüýþÿ‰ƒ†‡ŠŒš",$NouveauMot1))
{
//$NouveauMot1 contient des caractères spéciaux
$test='bad8'
}

Quelqu'un peut-il m'expliquer pourquoi?

Merci d'avance

10 réponses

cs_sjon Messages postés 861 Date d'inscription mardi 26 mars 2002 Statut Membre Dernière intervention 29 novembre 2006 1
20 juin 2005 à 22:33
Sael og blesud

Veuillez préférer les expressions régulières pour ce genre de traitement de chaine de type string ... Regardez sur http://www.expreg.com par exemple ...

Bon courage ...

NB : Si la réponse vous convient merci de l'accepter pour fermer ce thread ...

Sigurjón Bírgir Sigurðssón aka Sjón

A grey suit is never so grey as on a sunny day ...
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
21 juin 2005 à 13:01
hello,



ben preg_match ferait tres bien l'affaire, avec le motif adequat.

Sinon il y a la solution du bourrin :

$carInterdits = array (tout ton bordel);

foreach ($carInterdits as $car) {

if (strpos ($taChaine, $car) === true) {

$test = 'bad8';

break;

}

}

ce qui en revient au meme que ton eregi() de toutes facons...et eregi peut prendre un motif (mais preg_match est plus rapide).
3
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 3
21 juin 2005 à 20:01
Voilà la solution :


if(!preg_match('`^[[:alnum:]]*$`', $NouveauMot1))
{
[file://\\ La \\ La] chaine contient des caractères spéciaux
}
3
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 3
21 juin 2005 à 11:29
Ce site est très interessant et il est vrai que les expressions régulières sont plus efficaces mais elles sont aussi moins souples à utiliser... J'ai passé en revue les fonctions et je ne vois pas comment faire pour résoudre mon problème : détecter la présence de caractères spéciaux dans une chaîne pouvant compter jusqu'à 20 caractères.

Quelqu'un a une idée? Merci d'avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 3
21 juin 2005 à 14:09
Merci beaucoup pour cet aide.
Comme je veux faire les chose bien, je tente d'utiliser preg_match, mais j'ai un peu de mal avec la syntaxe...
Peut on se passer de spécifier la longueur mini et maxi ?

Voici mon code qui ne passe pas (message d'erreur : Warning: Unknown modifier '\') :

if (!preg_match("[]\^\'$()*+<>?#"{}\\™§®¡¨¯¢© £ª±¤\“¹¥\”²¦¬³µ¼÷¶½Þ•¾ß¿×ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝàáâãäåæçèé&êëì&íîïðñòóôõöøùúûüýþÿ‰ƒ†‡ŠŒš", $NouveauMot1)) $test='false';

Merci encore
0
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 3
21 juin 2005 à 19:01
HELP PLEASE...


J'ai beau essayer différentes fonctions, cette suite de caractères spéciaux ne passent pas...
Quelqu'un sait-il comment résoudre ce problème?

Merci d'avance
0
cs_sjon Messages postés 861 Date d'inscription mardi 26 mars 2002 Statut Membre Dernière intervention 29 novembre 2006 1
22 juin 2005 à 01:38
Sael og blesud



>> Eric25



On aurait pu l'un comme l'autre vous répondre directement, mais ce
n'est pas à mes yeux le but d'un forum d'entraide ... On vous a donné
des pistes pour résoudre votre problème ce qui vous a obligé à chercher
et surtout apprendre ... Car une heure après ( à peine cela c'est joué
à 10 secondes ;-) ) vous avez trouvé votre solution et en plus
maintenant vous connaissez les expressions régulières même si vous ne
les maitrisez pas ... C'est pourquoi je ne vous ai pas répondu à
19:01:38 ... Après il est vrai aussi qu'en fonction de la question de
notre disponibilité on donne les réponses immédiates ou pas ... ;-) Ce
ne fût pas votre cas mais vous en sortez gagnant à mon avis ... ;-)

Bon courage pour la suite ...

NB : Si la réponse vous convient merci de l'accepter pour fermer ce thread ...

Sigurjón Bírgir Sigurðssón aka Sjón


A grey suit is never so grey as on a sunny day ...
0
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 3
22 juin 2005 à 11:14
Bonjour,


No problem... Je comprends parfaitement et c'est totalement vrai. Mieux vaut apprendre en tatonnant que d'attendre que ca nous tombe tout cuit dans le beque et de ne rien comprendre à la chose...
Simplement, parfois, à force de ramer, on a des sérieuses courbatures mais mon site est enfin fini et j'en sais maintenant plus sur les expressions régulières...

Bonne continuation et merci
0
cs_sjon Messages postés 861 Date d'inscription mardi 26 mars 2002 Statut Membre Dernière intervention 29 novembre 2006 1
24 juin 2005 à 03:15
Sael og blesud



>> Malalam : il est vrai que cela est vraiment " bourrin " ;-)

Bon courage ...

NB : Si la réponse vous convient merci de l'accepter pour fermer ce thread ...

Sigurjón Bírgir Sigurðssón aka Sjón



A grey suit is never so grey as on a sunny day ...
0
cs_sjon Messages postés 861 Date d'inscription mardi 26 mars 2002 Statut Membre Dernière intervention 29 novembre 2006 1
8 juil. 2005 à 06:39
Sael og blesud



" Simplement, parfois, à force de ramer, on a des sérieuses
courbatures ... " C'est pourquoi on vous donne des pistes afin
d'alléger vos corbatures ... ;-) ...

Bon courage ...

NB : Si la réponse vous convient merci de l'accepter pour fermer ce thread ...

Sigurjón Bírgir Sigurðssón aka Sjón




A grey suit is never so grey as on a sunny day ...
0
Rejoignez-nous