2010-12-15 117 views
2

替换尴尬角色是否有一个字符串函数,它取代所有的尴尬角色,像字符串PHP

你好变得你好,

还是需要以下strtr函数的效率功能,并把所有的尴尬字符在...?

$addr = strtr($addr, "äåö", "aao"); 
+0

你能更精确地指定“尴尬人物”的含义吗? – 2010-12-15 22:44:13

回答

4

我假设“尴尬的人物”你的意思是任何不是ASCII的。如果是这样,然后尝试iconv

$addr = iconv('UTF-8', 'ASCII//TRANSLIT', $addr); 

第一个参数是字符集的输入字符串。

$addr = "Hellö"; 
echo $addr . "\n"; 
$addr = iconv('UTF-8', 'ASCII//TRANSLIT', $addr); 
echo $addr . "\n"; 

输出

 
Hellö 
Hello 

看到它ideone运行。

+0

不这样做......如果文本包含有效的UTF-8,它也将被转换为 – ajreal 2010-12-15 22:37:55

+0

@ajrael:这是做的是取非ASCII字符并尽可能最好地转换为有效ASCII。 – 2010-12-15 22:43:28

+0

是的,同时,它也将有效的UTF-8替换为'?'。但是,取决于OP环境设置。 – ajreal 2010-12-15 22:49:21