Я думаю, что проблема намного проще: вы забыли указать модификатор u
. Свойства символа Юникода: доступны только в режиме UTF-8 .
Ваше регулярное выражение должно быть:
// unicode letters, apostrophe, hyphen, space
$namePattern = '/^[-\' \p{L}]+$/u';
Следующее поколение Visual C ++, которое должно выйти целых две недели, включает в себя std::thread
библиотеки, а G ++ уже, если я не ошибаюсь. Я бы не посчитал это против этого. И вот в чем дело: C ++ 11 действительно очень важен. Если ваше рабочее место не планирует мигрировать, я найду другое рабочее место.