как добавить арабские буквы в url regex

как добавить арабские буквы в url в regex

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'])) {} 

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

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

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

UPD: полное regexp похоже на это (для правила 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])*$