我认为问题要比这简单得多:您忘记了指定u
修饰符。Unicode字符属性仅在UTF-8模式下可用。
您的正则表达式应为:
// unicode letters, apostrophe, hyphen, space
$namePattern = '/^[-\' \p{L}]+$/u';
在PCRE / PHP中匹配Unicode字母字符
我认为问题要比这简单得多:您忘记了指定u
修饰符。Unicode字符属性仅在UTF-8模式下可用。
您的正则表达式应为:
// unicode letters, apostrophe, hyphen, space
$namePattern = '/^[-\' \p{L}]+$/u';