Удалить акценты из ответа JSON - PullRequest
3 голосов
/ 29 апреля 2010

Я получаю ответ JSON с сайта социальной сети. Есть некоторые акцентированные символы, которые я хотел бы удалить.

Примером является: L \ u00e1szl \ u00f3 M \ u00e1rton, который читает "László Márton", и я хотел бы быть преобразованным в Ласло Мартона.

Я бы хотел сохранить формат JSON без изменений, так как я его отправлю.

Как я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 29 апреля 2010

См. Принятый ответ на: Как удалить акценты с символов в строке PHP?

$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 голосов
/ 06 мая 2010

Вы можете попробовать функции здесь http://hsivonen.iki.fi/php-utf8/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...