Я собираюсь создать многоязычный веб-сайт с PHP и должен иметь preg_match, который передает все символы и номера Unicode.
т.е. мне нужно, чтобы он передавал английские буквы, испанские буквы, итальянские буквы, и, как вы знаете, я не хочу передавать других персонажей, таких как «_ _» и …
Я хочу что-то вроде этого:
$pattern='/^[unicode chars without \'-_;?]*$/u'; if(!preg_match($pattern, $url)) echo #error;
Свойством Unicode для буквы является \pL
поэтому в preg_match
:
preg_match('/^\pL+$/u', $string);
для URL-адреса вы можете добавить числа \pN
и точки:
preg_match('/^[\pL\pN.]+/u', $string);