PHP регулярное выражение любого вида буквы с любого языка - PullRequest
0 голосов
/ 20 октября 2019

Я пытаюсь создать свою собственную маршрутизацию в php, используя regex, мой пример возвращает true, когда имя в латинском, но когда имя в арабском, возвращает false

preg_match('#^(en/users/(?<name>[\p{L}\p{Nd}\_\-\+]+))$#', 'en/users/علي+عثمان')

Что я делаюнеправильно?

1 Ответ

0 голосов
/ 20 октября 2019

Для соответствия арабскому сценарию вы должны использовать \p{Arabic} вместо \p{L}, а также установить модификатор шаблона u для включения поддержки UTF-8.

Примерно так:

preg_match('#^(en/users/([\p{L}\p{Ll}\p{Arabic}\p{Nd}\_\-\+]+))$#u', 'en/users/علي+عثمان')

Рабочий пример: https://ideone.com/Zwrnpg

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...