实现emlog列表也缩略图按先调用正文第一张图片,没有则调用附件图片,如果前两者都没有则调用随机图片代码
. F+ w4 c6 C. `' Y( M5 S: [
. B' D5 r" O; f( @8 g9 S; F1 \第一步:首先在模板的module.php文件中最后面加入如下代码- <?php
& a, h- x7 `9 y% F - //全局匹配正文中的图片并存入imgsrc中
: K p; b! z6 A% p) ?& _$ W - function img_zw($content){preg_match_all("|<img[^>]+src="([^>"]+)"?[^>]*>|is", $content, $img);$imgsrc = !empty($img[1]) ? $img[1][0] : '';if($imgsrc):return $imgsrc;endif;}) ]: H/ X6 F* m) H$ K3 e
- //Custom: 获取附件第一张图片
8 z9 F2 M" k, s! {7 v$ q, ^ - function img_fj($blogid){$db = MySql::getInstance();$sql = "SELECT * FROM ".DB_PREFIX."attachment WHERE blogid=".$blogid." AND (`filepath` LIKE '%jpg' OR `filepath` LIKE '%gif' OR `filepath` LIKE '%png') ORDER BY `aid` ASC LIMIT 0,1";$imgs = $db->query($sql);$img_path = "";while($row = $db->fetch_array($imgs)){$img_path .= BLOG_URL.substr($row['filepath'],3,strlen($row['filepath']));}
$ ~2 V& I+ h, u! ~ - return $img_path;}?>
复制代码 第二步:然后在log_list.php的foreach循环中加入如下代码- <?php if(img_zw($value['content'])){$imgurl = img_zw($value['content']);0 a1 T- y0 x) k) y% e( A5 t0 d5 n i
- }elseif(img_fj($value['logid'])){$imgurl = img_fj($value['logid']);
5 r4 i' a* @$ T- } - }else{$imgurl = TEMPLATE_URL.'images/'.rand(1,5).'.jpg';}; d% Z3 l$ }1 Z2 ]- U
- ?><p><img src="<?php echo $imgurl;?>" /></p>
复制代码 本教程代码结束!!!!* T) s, r- a% D: m5 N Y1 X" R* ^8 o
以下代码为舍力自用代码,请不必理会,直接替换上面第二步代码,即实现有调用正文第一张图片 => 附件图片 => 无图片则不显示。- <?php if(img_zw($value['content'])){$imgurl = img_zw($value['content']);?><p><img src="<?php echo $imgurl;?>" /></p>
' K: A9 J% D: e% M; m$ h8 e - <?php }elseif(img_fj($value['logid'])){$imgurl = img_fj($value['logid']);?><p><img src="<?php echo $imgurl;?>" /></p>
0 V+ v( ^1 \* t3 U - <?php }else{}?>
复制代码 $ L8 J* e) s |# b
|