我如何使用preg_match与字母数字和unicode接受?

Mo *_*ami 3 php regex preg-match

我打算用PHP构建一个多语言网站,需要有一个传递所有Unicode字符和数字的preg_match.
即我需要它传递英文字母,西班牙文字母,意大利字母,你可能知道我不想传递其他字符,如'"_ - 和......

我想要这样的事情:

$pattern='/^[unicode chars without \'-_;?]*$/u'; 
if(!preg_match($pattern, $url))
   echo #error;
Run Code Online (Sandbox Code Playgroud)

Tot*_*oto 8

字母的Unicode属性是\pL这样的preg_match:

preg_match('/^\pL+$/u', $string);
Run Code Online (Sandbox Code Playgroud)

对于网址,您可以添加数字\pN和点:

preg_match('/^[\pL\pN.]+/u', $string);
Run Code Online (Sandbox Code Playgroud)