Intereting Posts
Получить последнюю измененную дату удаленного файла MySQL возвращает первую строку объединенной таблицы Вставка и извлечение дат и временных меток в mongodb с помощью PHP Выключить или обработать ошибки в рабочей среде? Слияние по значению массива (и выполнение расчетов с другими ключами) Неявное преобразование типов для классов PHP? Не удалось подключиться к базе данных с Android Использование SQlite3 в PHP, как подсчитать количество строк в наборе результатов? Как получить доступ к данным youtube api json response $ t variable в php? Как предотвратить распространение почты от спама? Что случилось с PDO в другом классе? С границами слов (\ b) в RegEx мне нужно иметь его до И после слова или раньше? Плагины для коротких кодов для собственных пользовательских cms, таких как плагины для коротких сообщений WordPress Как установить права на чтение и запись в Apache на компьютере под управлением Windows Передача переменной цены в PayPal с помощью настраиваемой кнопки

используя preg_match для обнаружения персидских (фарси) символов в строке

Я пытаюсь проверить данные формы с серверной стороны. мой интерес заключается в том, что пользователь просто заполняет форму персидскими символами.

Я использую этот код:

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

Но это не работает!

вот предупреждение:

 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 

Что я могу сделать?

Это должно «работать» …

** добавил a ^ после открытия [для исключения символов арабского / фарси из матча …

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

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

پژگچ в диапазоне 600 – 6FF

fa только:

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

en, en-num и fa character:

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

вы можете установить fa-номера или арабский ي ك

Вы должны использовать это:

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

это регулярное выражение:

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

включены номера и пространство?