我有这段代码:
<?
include( "http://api.flickr.com/services/feeds/photos_public.gne?id=22352410@N07&lang=en-us&format=php" );
$i = 0;
foreach($feed['items'] as $item) {
preg_match("/<img src=\"([^\"]+)\" .*? \/>/", $item['description'], $matches);
$img_html = $matches[0];
$img_src = $matches[1];
$medium_url = ereg_replace("_m", "_s", $img_src);
echo "$img_html";
}
?>
如何让每N个图片显示在<div></div>
内
例如:
<div class="container">
<img src="1.jpg" />
<img src="2.jpg" />
<img src="3.jpg" />
<img src="4.jpg" />
<img src="5.jpg" />
<img src="6.jpg" />
<img src="7.jpg" />
<img src="8.jpg" />
<img src="9.jpg" />
<img src="10.jpg" />
<img src="11.jpg" />
<img src="12.jpg" />
</div>
<div class="container">
<img src="13.jpg" />
<img src="14.jpg" />
<img src="15.jpg" />
<img src="16.jpg" />
<img src="17.jpg" />
<img src="18.jpg" />
<img src="19.jpg" />
<img src="20.jpg" />
<img src="21.jpg" />
<img src="22.jpg" />
<img src="23.jpg" />
<img src="24.jpg" />
</div>
等...
任何想法?
非常感谢!!!
答案 0 :(得分:2)
您可以查看%12
。在循环中添加一个计数器$j
,在每个循环中递增$j
。
当$j % 12 === 0
时,您必须通过添加</div><div class="container">
更改您的div。
不要忘记第一个和最后一个<div>
标记。
答案 1 :(得分:1)
应该这样做!
<?
include( "http://api.flickr.com/services/feeds/photos_public.gne?id=22352410@N07&lang=en-us&format=php" );
$i = 0;
echo "<div class='container'>";
foreach($feed['items'] as $item)
{
if($i % 12 === 0)
print "</div><div class='container'>";
preg_match("/<img src=\"([^\"]+)\" .*? \/>/", $item['description'], $matches);
$img_html = $matches[0];
$img_src = $matches[1];
$medium_url = ereg_replace("_m", "_s", $img_src);
echo "$img_html";
$i++;
}
print "</div>";
?>
答案 2 :(得分:1)
关于double div:移动if语句,检查是否有一个余数,在增加计数器的语句之下,并且它不会创建双div:
<?
include( "http://api.flickr.com/services/feeds/photos_public.gne?id=22352410@N07&lang=en-us&format=php" );
$i = 0;
echo "<div class='container'>";
foreach($feed['items'] as $item)
{
preg_match("/<img src=\"([^\"]+)\" .*? \/>/", $item['description'], $matches);
$img_html = $matches[0];
$img_src = $matches[1];
$medium_url = ereg_replace("_m", "_s", $img_src);
echo "$img_html";
$i++;
if($i % 12 === 0)
print "</div><div class='container'>";
}
print "</div>";
?>
答案 3 :(得分:0)
你有$i=0
,但你没有使用它。也没有12行分页算法。如何在循环中的某个地方尝试一些$i++
并考虑在某处插入if ($i==12)
或if ($i%12)
的位置。对不起,我不打算用勺子喂。这是教科书中的基本问题。
答案 4 :(得分:0)
不使用foreach,而是使用带有计数器的简单for循环,然后在计数器上使用MOD来确定当前迭代是否可被N整除。
答案 5 :(得分:0)
添加其他人所说的话
preg_match
的值
$match
。ereg_replace
已弃用。使用
而是preg_replace
。既然你是
只是做一个文本替换,你
应该使用str_replace