2014-12-22 40 views
0

我想从这个periodic table wiki,如测试几个关键字,PHP如何删除或正常化隐藏的特殊字符

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

复制你的代码在一个记事本,会出现一个 “ - ” 像'的var_dump(的preg_match('/^[A-ZA-Z0-9 \ - \ S] + $ /',trim('Zirco-nium'))); ' –

+0

删除部分'TRIM(“锆”)'和手工编写和它的作品 http://i.gyazo.com/1c3748226aedec5ad72fbd178b485ccf.png –

+1

我可是从维基百科在一个记事本copypasting元素的名称,出现“ - “,复制没有格式的名称,它的作品 –

回答

1

请试试这个..

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

非常感谢。 – laukok