как добавить арабские буквы в регулярные выражения URL - PullRequest
1 голос
/ 30 января 2011

как добавить арабские буквы в URL в регулярном выражении

if (!preg_match("^(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+&%\$#\=~])*$^",$_POST['url'])) {}

Ответы [ 3 ]

4 голосов
/ 30 января 2011

Лучший вариант - использовать для этого класс Unicode chracter .Это будет \p{Arabic} для вашего случая.Но не забывайте, что вы также должны добавить модификатор Unicode PCRE /u в конце.

1 голос
/ 18 ноября 2013

Замените [a-zA-Z0-9] на [\pL0-9] и не забудьте модификатор Unicode PCRE /u в конце вашего регулярного выражения.

0 голосов
/ 30 января 2011

Использование кода UTF-8: \x123 должно помочь.

UPD: полное регулярное выражение выглядит так (для правила any URL part could contain arabic chars):

^(http|https|ftp)\://[a-zA-Z0-9\-\.\x0600-\x06FF\x0750-\x077F\xFB50-\xFDFF\xFE70-\xFEFF]+\.[a-zA-Z\x0600-\x06FF\x0750-\x077F\xFB50-\xFDFF\xFE70-\xFEFF]{2,3}(:[a-zA-Z0-9\x0600-\x06FF\x0750-\x077F\xFB50-\xFDFF\xFE70-\xFEFF]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+&%\$#\=~\x0600-\x06FF\x0750-\x077F\xFB50-\xFDFF\xFE70-\xFEFF])*$

...