1.写一个方法专门做抓取图片。
- function getImgs($content,$order='ALL'){
- $pattern="/<img.*?src=http://www.52419.net/skin/s11/image/nopic.gif>;
- preg_match_all($pattern,$content,$match);
- if(isset($match[1])&&!empty($match[1])){
- if($order==='ALL'){
- return $match[1];
- }
- if(is_numeric($order)&&isset($match[1][$order])){
- return $match[1][$order];
- }
- }
- return '';
- }
2.利用查询出列表页的文章ID去查询内容
- $result = $db->query("SELECt ".$MOD['fields']." FROM {$table} WHERe $condition ORDER BY $order LIMIT $offset,$pagesize");
- while($r = $db->fetch_array($result)) {
- if($kw) $r['title'] = str_replace($kw, '<b class="f_red">'.$kw.'</b>', $r['title']);
- $r['linkurl'] = mobileurl($moduleid, 0, $r['itemid']);
- $r['date'] = timetodate($r[$time], $page < 4 ? 2 : 3);
- $lists[] = $r;
- }
- // 获取内容
- foreach($lists as $key=>$val){
- $t = $db->query("SELECT content FROM taomodi_article_data_21 WHERe itemid=".$val['itemid']);
- while($res = $db->fetch_array($t)){
- $content = video5($res['content']);
- $content = str_replace('<hr class="de-pagebreak"/>', '', $content);
- //调用方法
- $val['content'] = getImgs($content);
- $lists[$key] = $val;
- }
- }
- // var_dump($lists);die;
3.模板中使用
- {loop $lists $vv}
- <li>
- <a href="{$vv[linkurl]}">
- <div class="{if count($vv[content])==1 && !empty($vv[content])}article_left{/if}">
- <dt>{$vv[title]}</dt>
- <dd>{php $res = dsubstr($vv['introduce'],'80','...');echo str_replace(' ','',$res);}</dd>
- </div>
- <div class="{if count($vv[content])==1 && !empty($vv[content])}article_right{/if}">
- <dd>
- {if $vv[content]}
- {loop $vv[content] $k $v}
- {php if($k >=3) break;}
- <img src="{$v}" id="{if count($vv[content])==1 && !empty($vv[content])}article_img{/if}"/>
- {/loop}
- {/if}
- </dd>
- </div>
- <div class="clear"></div>
- </a>
- </li>
- {/loop}