目前,我正在抓取搜索页面并尝试将其显示在仅显示4个结果的位置,而不是搜索页面上的每个结果。
我的代码在这里。
<?php
$html = file_get_html('http://www.example.com/?s='.$artist.'');
foreach($html->find('div.row > ul > li a') as $element)
{
//echo
$url = ''.$element->href;
$html2 = file_get_html($url);
$image2 = $html2->find('meta[property=og:image]',0);
// print $image2 = $image2->content;
$pure = $image2->content;
$title2 = $html2->find('header.section-header h2 ',0);
$links = $title2->plaintext;
// print $title2 = $title2->plaintext;
print "<li class='album col-md-3 col-sm-6 col-smx-6 col-xs-6 flex' itemprop='itemListElement' itemscope='' itemtype='http://schema.org/MusicAlbum'>
<meta itemprop='url' content='".$url."'>
<meta itemprop='numTracks' content='13'>
<a href='".$url."'>
<img src='".$pure."' alt='".$links."' title='".$links."' itemprop='thumbnailUrl'>
<span class='title'><strong class='artist' itemprop='byArtist'>".$links."</strong></span>
<span class='information'>
</span>
</a>
</li>";
}
?>
这会返回看起来像这样的东西。
但我试图让结果看起来更像这样。
答案 0 :(得分:2)
在循环之前启动计数器
$i=1;
然后在每次迭代后递增
$i++;
然后检查它是否已达到4并且中断
$i=1;
foreach($test as $value)
{
if($i>4)
break;
//rest of your code here
$i++;
}
<强> Fiddle 强>
不,我不会用你的代码更新这个答案,因为这对你来说不是一个学习经历。然后它将成为一个复制粘贴工作,从长远来看它不会帮助你。只需重复几遍,然后将这个简单的解决方案应用到您的代码中,您永远不会忘记它:)
答案 1 :(得分:1)
使用您自己的代码,只需使用计数器(注意差异):
<?php
$html = file_get_html('http://www.example.com/?s='.$artist.'');
$i = 0; // begin counter
foreach($html->find('div.row > ul > li a') as $element)
{
if($i > 3) { // this will ensure that you only display 4 results
break;
}
//echo
$url = ''.$element->href;
$html2 = file_get_html($url);
$image2 = $html2->find('meta[property=og:image]',0);
// print $image2 = $image2->content;
$pure = $image2->content;
$title2 = $html2->find('header.section-header h2 ',0);
$links = $title2->plaintext;
// print $title2 = $title2->plaintext;
print "<li class='album col-md-3 col-sm-6 col-smx-6 col-xs-6 flex' itemprop='itemListElement' itemscope='' itemtype='http://schema.org/MusicAlbum'>
<meta itemprop='url' content='".$url."'>
<meta itemprop='numTracks' content='13'>
<a href='".$url."'>
<img src='".$pure."' alt='".$links."' title='".$links."' itemprop='thumbnailUrl'>
<span class='title'><strong class='artist' itemprop='byArtist'>".$links."</strong></span>
<span class='information'>
</span>
</a>
</li>";
$i++; // increment your counter
}
?>