PHP如何删除或规范化隐藏的特殊字符

时间:2014-12-22 09:54:00

标签: php preg-match special-characters

我正在尝试测试此periodic table wiki中的几个关键字,例如

Zirco­nium

The test

var_dump(preg_match('/^[a-zA-Z0-9\-\s]+$/', trim('Zirco­nium'))); 

它将被重写为,

var_dump(preg_match('/^[a-zA-Z0-9\-\s]+$/', trim('Zirco­nium'))); // note that '­' suddenly appears

并返回以下结果,

int(0) // I would like to get int(1) acutally.

但我在测试的单词中看不到隐藏的­。那么我如何删除这些隐藏的字母或将其标准化呢?

1 个答案:

答案 0 :(得分:1)

请试试这个..

preg_replace('/[^\p{Latin}\d ]/u', '', $str);