Valider caractères spéciaux avec ereg

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Valider caractères spéciaux avec ereg

par Cyrano » 15 oct. 2005, 19:42

Un autre formule consisterait à remettre le textes en caractères normaux le temps du test avec html_entity_decode() au lieu de construire une usine à gaz en expression régulière ;)

par Vaedan » 15 oct. 2005, 19:21

mais non !
if ( ! preg_match( '/^[\s]{1-100}$/i' // etc
beaucoup plus rapide :)

Valider caractères spéciaux avec ereg

par Ourson » 15 oct. 2005, 19:12

Bonjour,

Je voudrai valider un champ texte avec une expression régulière comme ereg.

Malheureusement, la variable de mon formulaire est convertie avec htmlentites pour des raisons de sécurité ainsi que de norme.

Or, une expression comme :
 if (! ereg("^[A-Za-z' éèêëàâîÏôûùü-]{1,100}$" //etc...
ne fonctionne pas, et ne comprend pas tous les caractères que je souhaite utiliser.

Je pense que c'est dû à mes caractères spéciaux, par exemple "é" vaut "é" sur ma page.

J'ai donc bidouillé le code suivant :
(!ereg("^[A-Za-z'([ÀÁÂÃÄÅÆÇÈÉ]|[ÊËÌÍÎÏÑÒÓÔ]|[ÕÖØÙÚÛÜßàá]
|[âãäåæçèéêë]|[ìíîïðñòóôõ]|[öùúûüÿŒœŸ]|
[ÀÁÀÃÄÅÆÇ
ÈÉ]|[ÊËÌÍÎÏ
ÑÒÓÔ]|[ÕÖØ
ÙÚÛÜßàá]
|[âãäåæçèé
êë]|[ìíîïñòó
ôõö]|[øùúûü
ÿŒœŸ-]) {1,100}$" //etc
(J'ai coupé l'instruction pour la mise en page sur ce forum. Naturellement, le code d'origine ne comporte pas de sauts de ligne).

J'ai doublé les lettres par leurs équivalents Html par acquit de conscience.

Le code semble fonctionner :lol:, mais je ne trouve pas ma programmation géniale même si elle a demandé patience et concentration.

Comment pourrai-je améliorer ma fonction ?

Merci pour vos avis.

Cordialement,

Ourson