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.