删除所有内容,除了PHP中的字母数字和欧洲字符

Kof*_*aus 4 php regex alphanumeric latin1

我正在努力验证我的评论脚本,我需要删除除西欧使用的所有非字母数字字符.

我的计划是使用以下方法对所有非字母数字字符进行正则表达式:

preg_replace("/[^A-Za-z0-9 ]/", '', $string);
Run Code Online (Sandbox Code Playgroud)

但到目前为止,所有欧洲角色和一个£符号都被删除,因此"CaféRouge"变成了"Caf Rouge".

如何在上面的正则表达式中添加一组欧元字符.

该数组是:

£, €, 
á, à, â, ä, æ, ã, å,
è, é, ê, ë,
î, ï, í, ì,
ô, ö, ò, ó, ø, õ,
û, ü, ù, ú,
ÿ,
ñ,
ß
Run Code Online (Sandbox Code Playgroud)

我使用UTF-8

解:

$comment = preg_replace('/[^\p{Latin}\d\s\p{P}]/u', '', $comment);
Run Code Online (Sandbox Code Playgroud)

$name = preg_replace('/[^\p{Latin}]/u', '', $name);
Run Code Online (Sandbox Code Playgroud)

$ name aslo删除标点符号和空格

感谢您的快速回复

Ωme*_*ega 11

preg_replace('/[^\p{Latin}\d ]/u', '', $str);
Run Code Online (Sandbox Code Playgroud)