Поэтому у меня проблема с использованием preg_match с php.
Я хочу, чтобы мои пользователи заполнили поле "Имя" только допустимыми символами. Пример: нет цифр или специальных символов.
Мой сайт, возможно, будет двуязычным, но большинство моих посетителей - французские канадцы
Я предпочитаю utf-8 для моего кодирования. Поэтому в верхней части моего документа у меня есть этот тег:
<meta charset="utf-8" />
Мне нужно принять акцентированные символы в моей форме, и я попробовал это:
(preg_match('/^\p{L}+$/ui',$string))
Но я не могу принять такой акцент.
Вот пример того, что имя может содержать как символы
jean-françois d'abiguäel
Это очень плохо, как могло бы
Кажется, что Evryone (preg_match('/^\p{L}+$/ui',$string))
работает, но я.
мне нужно что-то вроде этого:
/^\p{L}(\p{L}+[- ']?)*\p{L}$/ui
Но мне нужно заставить его работать.
Мои серверы - это IIS (godaddy). Версия PHP - это 5,4 часовой пояс по умолчанию для Америки/Монреаля
Спасибо!
Эта модель должна работать:
/^\pL+(?>[- ']\pL+)*$/u
Но не стесняйтесь адаптировать его для более экзотических имен (например, имена с цитатой или апострофом).
~^([\p{L}-\s']+)$~ui
Соответствует следующим именам:
См. Демонстрационную версию regex 101.
--- - ---
--- - ---
может быть чешское имя ...
ini_set('default_charset', 'UTF-8');
,