代码之家  ›  专栏  ›  技术社区  ›  Pentium10

从JSON响应中删除重音符号

  •  3
  • Pentium10  · 技术社区  · 14 年前

    我从一个社交网站得到一个JSON回复。有些重音字符我想删除。

    一个例子是:l\u00e1szl\u00f3 m\u00e1rton,它的意思是“l_、szl_3 m_rton”,我想变成拉兹洛·马顿。

    我希望保持JSON格式的完整性,因为我将把它发送到。

    我该怎么做?

    2 回复  |  直到 14 年前
        1
  •  2
  •   Community CDub    7 年前

    见接受方: 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
    
        2
  •  0
  •   Purefan    14 年前

    你可以试试这里的功能 http://hsivonen.iki.fi/php-utf8/