Aller au contenu

eregi et CR (carriage return)


Sujets conseillés

Posté

bonjour,

dans un formulaire j'utilise eregi pour vérifier si les caractères entrés dans un textarea sont corrects.

tout va bien, sauf quand on rédige 2 paragraphes. la condition n'est alors plus remplie.

il semble que le CR soit compté comme un caractère a part entière?

que faut il mettre pour autoriser le CR?

sous windows, ne va t il pas y avoir aussi le LF? (line feed)

if(eregi!("^([abcd...etc.,;:/\"]+[. ]?)+$",$_POST["message"]))

(autoriser les lettres abcd... et la ponctuation, suivie d'un . ou d'un espace)

merci d'avance ;)

Posté

Ben oui, CR et LF sont des caractères (presque) comme les autres, en tous cas si tu ne les prévois pas dans ta regex, ils ne peuvent pas être autorisés.

Premier conseil: utilise preg_* au lieu de ereg*, ces dernières étant considérées comme obsolètes.

Une fois que tu utilises preg_*, tu peux utiliser les flags s et m pour contrôler la façon dont les CR et LF sont considérés (i.e. si "." les autorise aussi et/ou si ^ et $ en tiennent compte ou pas). Tout ça est expliqué ici:
/>http://uk3.php.net/manual/en/reference.pcre.pattern.modifiers.php

Jacques.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...