2010-12-15 89 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