返回谷歌图片搜索结果中的HTML使用PHP [英] Return Google Image Search Results in HTML using PHP

查看:125
本文介绍了返回谷歌图片搜索结果中的HTML使用PHP的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道我们如何利用谷歌API在AJAX返回的图像效果,但我希望能够到我的网页上为特定的查询返回的图像,然后将它们输出到HTML。

例如:

<一个href=\"http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=sausages\">http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=sausages

返回的结果与前10个结果关键字香肠信息来源和图像。

我怎样可以查询这个网址来输出图像的图片和标题在HTML中使用PHP我的网页上。

我使用的函数的顶部下面,返回标题

  $针锋相对= get_the_title();

然后我在这里apending是:

  $ JSON = get_url_contents('http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q='.$tit。'' );

但它不会承认标题


解决方案

 函数get_url_contents($网址){
    $ CRL = curl_init();    curl_setopt($ CRL,CURLOPT_USERAGENT,Mozilla的/ 4.0(兼容; MSIE 6.0; Windows NT的5.1; .NET CLR 1.1.4322)');
    curl_setopt($ CRL,CURLOPT_URL,$网址);
    curl_setopt($ CRL,CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ CRL,CURLOPT_CONNECTTIMEOUT,5);    $ RET = curl_exec($ CRL);
    curl_close($ CRL);
    返回$ RET;
}$ JSON = get_url_contents('http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=sausages');$数据= json_de code($ JSON);的foreach($数据 - &GT; responseData-&GT;结果$结果){
    $结果[] =阵列('URL'=&GT; $ result-&GT; URL,ALT =&GT; $ result-&GT;标题);
}的print_r($结果);

输出:

 阵列

    [0] =&GT;排列
        (
            [URL] =&GT; http://upload.wikimedia.org/wikipedia/commons/thumb/c/c4/Salchicha_oaxaque%25C3%25B1a.png/220px-Salchicha_oaxaque%25C3%25B1a.png
            [ALT] =&GT;香肠 - 维基百科,自由的百科全书
        )    [1] =&GT;排列
        (
            [URL] =&GT; http://upload.wikimedia.org/wikipedia/commons/c/c1/Reunion_sausages_dsc07796.jpg
            [ALT] =&GT;文件:留尼汪香肠dsc07796.jpg - 维基共享资源
        )    [2] =&GT;排列
        (
            [URL] =&GT; http://1.bp.blogspot.com/-zDyoLPoM1Zg/ULXDPba_2iI/AAAAAAAAAAs/QzfNNmDFmzc/s1600/shop_sausages.jpg
            [ALT] =&GT; MAIK的美味德国香肠
        )    [3] =&GT;排列
        (
            [URL] =&GT; http://sparseuropeansausage.com/images/sausage-web/sausagesBiggrilling2.jpg
            [ALT] =&GT;晶石欧洲香肠店
        ))

显示图像:

 &LT; PHP的foreach($结果$图片):?&GT;
    &LT; IMG SRC =&LT; PHP的echo $图像['URL'];?&gt;中ALT =&LT; PHP的echo $图像['ALT'];?&GT;/&GT;&LT; BR /&GT;
&LT; PHP endforeach; ?&GT;


的意见后,编辑:

  $ URL ='http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=。 get_the_title();$ JSON = get_url_contents($网址);

I know how we can use the Google API to return image results in AJAX, but I want to be able to return images for a specific query and then output them in to HTML on my page.

For example:

http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=sausages

Returns results with infomation and images about the top 10 results for the keyword sausages.

How can I query this url to output the images and titles of the images on my page using PHP in HTML.

I am using the following at the top of the function to return the title:

$tit = get_the_title();

Then I am apending it here:

$json = get_url_contents('http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q='.$tit.'');

But it won't recognize the title

解决方案

function get_url_contents($url) {
    $crl = curl_init();

    curl_setopt($crl, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)');
    curl_setopt($crl, CURLOPT_URL, $url);
    curl_setopt($crl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($crl, CURLOPT_CONNECTTIMEOUT, 5);

    $ret = curl_exec($crl);
    curl_close($crl);
    return $ret;
}

$json = get_url_contents('http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=sausages');

$data = json_decode($json);

foreach ($data->responseData->results as $result) {
    $results[] = array('url' => $result->url, 'alt' => $result->title);
}

print_r($results);

Output:

Array
(
    [0] => Array
        (
            [url] => http://upload.wikimedia.org/wikipedia/commons/thumb/c/c4/Salchicha_oaxaque%25C3%25B1a.png/220px-Salchicha_oaxaque%25C3%25B1a.png
            [alt] => Sausage - Wikipedia, the free encyclopedia
        )

    [1] => Array
        (
            [url] => http://upload.wikimedia.org/wikipedia/commons/c/c1/Reunion_sausages_dsc07796.jpg
            [alt] => File:Reunion sausages dsc07796.jpg - Wikimedia Commons
        )

    [2] => Array
        (
            [url] => http://1.bp.blogspot.com/-zDyoLPoM1Zg/ULXDPba_2iI/AAAAAAAAAAs/QzfNNmDFmzc/s1600/shop_sausages.jpg
            [alt] => Maik's Yummy German Sausage
        )

    [3] => Array
        (
            [url] => http://sparseuropeansausage.com/images/sausage-web/sausagesBiggrilling2.jpg
            [alt] => Spar's European Sausage Shop
        )

)

Showing the images:

<?php foreach($results as $image): ?>
    <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>"/><br/>
<?php endforeach; ?>


Edit after comments:

$url = 'http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=' . get_the_title(); 

$json = get_url_contents($url);

这篇关于返回谷歌图片搜索结果中的HTML使用PHP的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆