php - 从google的非官方词典API获取数据

标签 php

我正在尝试从 Google 的非官方词典 API 中获取单词的同义词,但我不知道如何选择我想要的数据。这是我正在使用的网址:

$url = 'https://www.googleapis.com/scribe/v1/research?key=AIzaSyDqVYORLCUXxSv7zneerIgC2UYMnxvPeqQ&dataset=dictionary&dictionaryLanguage=en&query=hello'

然后我这样做:

$data = file_get_contents($url);
echo $data;

一切都正确返回,但作为字符串,所以我不知道如何隔离同义词。我已经尝试过 simplexml_load_file($url); 但我无法从中得到任何回显/打印内容。

最佳答案

这是您想要的代码:

 <?php
function object_to_array($data)
{
    if (is_array($data) || is_object($data))
    {
        $result = array();
        foreach ($data as $key => $value)
        {
            $result[$key] = object_to_array($value);
        }
        return $result;
    }
    return $data;
}

function getSynonims($word)
{
    $url = 'https://www.googleapis.com/scribe/v1/research?key=AIzaSyDqVYORLCUXxSv7zneerIgC2UYMnxvPeqQ&dataset=dictionary&dictionaryLanguage=en&query='.$word;
    $ret = null;
    $data = file_get_contents($url);
    $data = object_to_array(json_decode($data));
    if (isset($data['data'][0]['dictionary']['definitionData']['0']['meanings'][0]['synonyms']))
        $synonyms = $data['data'][0]['dictionary']['definitionData']['0']['meanings'][0]['synonyms'];
    foreach ($synonyms as $key => $synonym) {
        $ret[$key] = $synonym['nym'];
    }
    return $ret;
}

示例:

$word = 'house';
print_r(getSynonims($word));

输出

Array
(
    [0] => residence
    [1] => home
    [2] => place of residence
)

有用:

关于php - 从google的非官方词典API获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26151642/

相关文章:

php - 找不到对象!在此服务器上找不到请求的 URL。未访问 PHP 文件

php - 我如何将此数组转换为可用的 javascript 数组?

php - 向迁移添加外键失败 - Laravel

PHP 数据库输出没有显示正确的方式

php - 使用电子商务跟踪将数据发送到Google Universal Analytics中的自定义维度和指标

php - Codeigniter 中的 URI 路由

php - CakePHP 1.3 - 提取 URL GET 参数

javascript - 在循环内将两个文本框相乘并在第三个文本框上显示结果

php - laravel4发送邮件报错 'this stream does not support SSL/crypto'

php - 在 Chrome 中无效的 JSON,在 Firefox 中没有问题(太奇怪了!)