【问题标题】:How to decode google search api results?如何解码谷歌搜索 api 结果?
【发布时间】:2013-10-04 17:17:20
【问题描述】:

我正在尝试将 google 结果插入 mysql utf-8 数据库。 但是当我检查插入的行时,一些字符看起来很奇怪。 例如“医生手册”插入为“医生's 手册”。 我尝试了 htmlspecialchars_decode、urldecode 但没有成功。

$query="doctor's handbook";
$url = "https://ajax.googleapis.com/ajax/services/search/web?v=1.0&"
    . "q=".urlencode($query)."&userip=78.160.152.204&rsz=large";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$body = curl_exec($ch);
curl_close($ch);

$json = json_decode($body);
$title = mysql_real_escape_string($result->titleNoFormatting);

mysql_query("INSERT INTO files (title) VALUES ('$title')", $conn))

【问题讨论】:

  • & #39;NOT 有效的 html 实体。那里应该没有空间,所以难怪它没有被解码。
  • 实际上没有空间。没有空间堆栈溢出显示它正常报价。所以我添加了空间。
  • 使用反引号来防止这种情况。 ` ' `.

标签: php mysql json urldecode


【解决方案1】:

好吧,我解决了这个问题。

html_entity_decode($title,ENT_QUOTES);

ENT_QUOTES 将转换双引号和单引号。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-10
    • 1970-01-01
    • 1970-01-01
    • 2013-10-24
    • 1970-01-01
    • 2015-12-29
    相关资源
    最近更新 更多