我正在验证我的评论脚本,我需要删除所有非字母数字字符,除了在西欧使用的字符。
我的计划是用正则表达式输出所有非字母数字字符:
preg_replace("/[^A-Za-z0-9 ]/", '', $string);
但到目前为止,所有欧洲字符和一个£符号都被去掉了,所以“Café Rouge”变成了“Caf Rouge”。
如何将一组欧元字符添加到上述正则表达式中。
数组是:
£, €,
á, à, â, ä, æ, ã, å,
è, é, ê, ë,
î, ï, í, ì,
ô, ö, ò, ó, ø, õ,
û, ü, ù, ú,
ÿ,
ñ,
ß
我使用 UTF-8
解决方案:
$comment = preg_replace('/[^\p{Latin}\d\s\p{P}]/u', '', $comment);
和
$name = preg_replace('/[^\p{Latin}]/u', '', $name);
$name aslo 删除标点符号和空格
感谢您的快速回复