返回谷歌图片搜索结果中的HTML使用PHP [英] Return Google Image Search Results in HTML using 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屋!