Question

Je suis en train de données sous forme de validation de côté serveur. mon intérêt est que l'utilisateur vous suffit de remplir le formulaire en caractères persans.

Je suis en utilisant ce code:

$name=trim($_POST['name']);
$name= mysql_real_escape_string($name);
if (preg_match('/^[\u0600-\u06FF]+$/',str_replace("\\\\","",$name))){$err.= "Please use Persian characters!";}

mais il ne fonctionne pas!

ici est un avertissement:

Warning: preg_match() [function.preg-match]: Compilation failed: PCRE does not support \L, \l, \N, \U, or \u at offset 3 in C:\xampp\htdocs\site\form.php on line 38

Que puis-je faire?

Était-ce utile?

La solution

Ce travail 'devrait' ...

** a ajouté un ^ après l'ouverture [pour exclure les caractères arabes / farsi du match ...

if (preg_match('/^[^\x{600}-\x{6FF}]+$/u', str_replace("\\\\","",$name)))

Autres conseils

http: // utf8- chartable.de/unicode-utf8-table.pl?start=1536&number=1024&utf8=0x&addlinks=1&htmlent=1

پژگچ à 600 - gamme 6FF

fa seulement:

preg_match('/^[پچجحخهعغفقثصضشسیبلاتنمکگوئدذرزطظژؤإأءًٌٍَُِّ\s]+$/u', $input);

en caractère en-num et fa:

 preg_match('/^([a-zA-Z0-9 پچجحخهعغفقثصضشسیبلاتنمکگوئدذرزطظژؤإأءًٌٍَُِّ])+$/u', $input);

vous pouvez définir des numéros fa-arabe ou ي ك

Vous devez utiliser ceci:

if(preg_match("/^[آ ا ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن و ه ی]/", $_POST['name']))

regex:

if(preg_match("/^[آ ا ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن و ه ی]/", $_POST['name']))

numéros inclus et l'espace?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top