2010-04-29 73 views
3

我從社交網站獲取JSON響應。我想刪除某些重音字符。從JSON響應中刪除重音

一個例子是:L \ u00e1szl \ u00f3 M \ u00erton,讀「LászlóMárton」,我想變成Laszlo Marton。

我想保持JSON格式不變,因爲我會發送它。

我該怎麼做?

回答

2

見接受anwser到:How do I remove accents from characters in a PHP string?

$input = "Fóø Bår"; 

setlocale(LC_ALL, "en_US.utf8"); 
$output = iconv("utf-8", "ascii//TRANSLIT", $input); 

print($output); 

如果服務器配置正確(作爲參考的問題狀態)這應該工作。

編輯:它沒有。

這樣做:)

$string = current(json_decode('["L\u00e1szl\u00f3 M\u00e1rton"]')); 

$a = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿŔŕ'; 
$b = 'aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRr'; 
$string = utf8_decode($string); 
$string = strtr($string, utf8_decode($a), $b); 

echo $string; // output > Laszlo Marton 
+0

能否在JSON的原始字符串格式使用?這會導致JSON結構中的郵件形式? – Pentium10 2010-04-29 05:31:25

+0

解碼JSON後使用它。從理論上講,您也可以在JSON表示本身內進行替換(使用unicode代碼,如\ u00e1作爲源代碼)。 – 2010-04-29 14:53:06

+0

$ a和$ b不適用於世界語重音字符; -P – Timothy 2010-05-01 04:37:17