IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Expression avec accents


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Points : 83
    Points
    83
    Par défaut Expression avec accents
    bonjour,

    je voudrai vérifier que mon texte ne contient que des caractères alphanumerique + accents + certain point de ponctuation.
    Voila ce que je tente de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    function check_input_text($text, $nb_car_max, &$output_message)
    {
    	//echo $text;exit; 
    	//si vide
    	if(!isset($text) ||  empty($text))
    	{
    		$output_message = "vide";
    		return 'NOK';
    	}
     
    $pattern = '`^[- a-zA-Z0-9àâäéèêëïîôöùûüç,;.?!:()\']{1,'.$nb_car_max.'}$`i';
     
    	if(! preg_match($pattern, $text) )
    	{
    		$output_message = "Ne peut comporter que des caractères alphanumériques et certains points de ponctuation (".$nb_car_max." au maximum).";
    		return 'NOK';
    	}
     
    	return 'OK';
    }
    Et cela ne marche pas. En fait j'appelle cette fonction pour la valeur retour d'un textarea , et ca marche pour ce qui concerne le lettres normal mais les accents sont refusé. Je sais aussi qu'il y a un problème d'encodage utf 8 mais je m'y perd un peu dans ces encodage... De plus j'ai essayé de cree un pattern avec \w mais je ne suis pas très doué en expression reguliere...

    Si quelqu'un pourrai m'aider...


    D'avance merci.

  2. #2
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Salut,

    Un truc à main levée, non testé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $pattern = sprintf( '#^(\w|[-,;.?!:()\']){1,%d}$#i', $nb_car_max);

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Points : 83
    Points
    83
    Par défaut
    Non malheureusement ça ne prends pas, je suis persuadé qu'il y a un problème d'encodage car ma fonction marche "presque" lorsque j'appelle ma fonction comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $new_desc = utf8_decode($new_desc);
    $res_check_desc = check_input_text ($new_desc, 75, true, $messageErreur);
    Je dis presque car ca marche lorsque
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $new_desc = "ééééé";
    mais par exemple: lorsque:
    et bien il me dit que c'est vide !!

    donc je ne comprend rien ...

    Merci.

Discussions similaires

  1. [RegEx] Expression rationnelle avec accents, espace et apostrophe.
    Par psychoBob dans le forum Langage
    Réponses: 12
    Dernier message: 24/04/2006, 15h21
  2. [SYBASE] Texte avec accents
    Par vsavoir dans le forum Sybase
    Réponses: 6
    Dernier message: 14/02/2005, 16h50
  3. [JavaMail] Pb avec accent dans sujet et corps de l'email
    Par shaun_the_sheep dans le forum API standards et tierces
    Réponses: 7
    Dernier message: 29/10/2004, 12h42
  4. Problème avec accents et CHARACTER SET ISO8859_1
    Par kinda dans le forum InterBase
    Réponses: 13
    Dernier message: 30/10/2003, 15h49
  5. PB : affichage de données avec accent sous delphi 6
    Par kinda dans le forum Débuter
    Réponses: 3
    Dernier message: 03/07/2003, 13h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo