来自twitter API的JSON包含\u2019

0tdrvxhp  于 2023-10-21  发布在  其他
关注(0)|答案(2)|浏览(95)

这是我通过twitter API获得的JSON文件的一部分:
“text”:“科学家发现研究分子的新方法:Queen\u2019的研究人员已经发现了研究方法。http://bit.ly/chbweE
我在我的项目中使用PHP。
在使用json_decode函数之后,\u2019被转换成了``
我尝试使用$raw_json = preg_replace("u2019","'",$raw_json),但json_decode函数返回NULL。
有没有其他方法可以将\u2019转换为'?
谢谢
编辑:
这就是我如何获得JSON的方法:

// create curl resource
    $ch = curl_init();

    // set url
    curl_setopt($ch, CURLOPT_URL, "http://search.twitter.com/search.json?q=from%3Agizmodo&rpp=10");

    //return the transfer as a string
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    // $output contains the output string
    $raw_json = curl_exec($ch);

    // close curl resource to free up system resources
    curl_close($ch);
pieyvz9o

pieyvz9o1#

这可能是你在输出中使用的字符集的问题。如果你输出到一个HTML页面,尝试添加以下Meta标签到你的<head>部分:

<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
1yjd4xko

1yjd4xko2#

preg_replace中缺少正则表达式分隔符/.../。试试看:

$raw_json = preg_replace("/u2019/","'",$raw_json);

此外,为了更安全,我只替换那些实际上是转义字符的示例:

$raw_json = preg_replace("/\\\\u2019/","\\'",$raw_json);

相关问题