Utilisation de eregi() pour détecter des caractères spéciaux [Résolu]

cs_Eric25 175 Messages postés mardi 19 octobre 2004Date d'inscription 26 juin 2006 Dernière intervention - 20 juin 2005 à 18:55 - Dernière réponse : cs_sjon 861 Messages postés mardi 26 mars 2002Date d'inscription 29 novembre 2006 Dernière intervention
- 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
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
cs_sjon 861 Messages postés mardi 26 mars 2002Date d'inscription 29 novembre 2006 Dernière intervention - 20 juin 2005 à 22:33
3
Merci
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 ...

Merci cs_sjon 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 84 internautes ce mois-ci

Commenter la réponse de cs_sjon
Meilleure réponse
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 21 juin 2005 à 13:01
3
Merci
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).

Merci malalam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 84 internautes ce mois-ci

Commenter la réponse de malalam
Meilleure réponse
cs_Eric25 175 Messages postés mardi 19 octobre 2004Date d'inscription 26 juin 2006 Dernière intervention - 21 juin 2005 à 20:01
3
Merci
Voilà la solution :


if(!preg_match('`^[[:alnum:]]*$`', $NouveauMot1))
{
[file://\\ La \\ La] chaine contient des caractères spéciaux
}

Merci cs_Eric25 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 84 internautes ce mois-ci

Commenter la réponse de cs_Eric25
cs_Eric25 175 Messages postés mardi 19 octobre 2004Date d'inscription 26 juin 2006 Dernière intervention - 21 juin 2005 à 11:29
0
Merci
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
Commenter la réponse de cs_Eric25
cs_Eric25 175 Messages postés mardi 19 octobre 2004Date d'inscription 26 juin 2006 Dernière intervention - 21 juin 2005 à 14:09
0
Merci
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
Commenter la réponse de cs_Eric25
cs_Eric25 175 Messages postés mardi 19 octobre 2004Date d'inscription 26 juin 2006 Dernière intervention - 21 juin 2005 à 19:01
0
Merci
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
Commenter la réponse de cs_Eric25
cs_sjon 861 Messages postés mardi 26 mars 2002Date d'inscription 29 novembre 2006 Dernière intervention - 22 juin 2005 à 01:38
0
Merci
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 ...
Commenter la réponse de cs_sjon
cs_Eric25 175 Messages postés mardi 19 octobre 2004Date d'inscription 26 juin 2006 Dernière intervention - 22 juin 2005 à 11:14
0
Merci
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
Commenter la réponse de cs_Eric25
cs_sjon 861 Messages postés mardi 26 mars 2002Date d'inscription 29 novembre 2006 Dernière intervention - 24 juin 2005 à 03:15
0
Merci
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 ...
Commenter la réponse de cs_sjon
cs_sjon 861 Messages postés mardi 26 mars 2002Date d'inscription 29 novembre 2006 Dernière intervention - 8 juil. 2005 à 06:39
0
Merci
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 ...
Commenter la réponse de cs_sjon

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.