实现emlog列表也缩略图按先调用正文第一张图片,没有则调用附件图片,如果前两者都没有则调用随机图片代码
" f3 n3 f' ]6 w3 k+ {- f$ Z) f5 N. Q$ [; ?( J( P
第一步:首先在模板的module.php文件中最后面加入如下代码- <?php' t( u+ [& ?( ]$ S. l
- //全局匹配正文中的图片并存入imgsrc中
( V1 ^) F, H6 e - function img_zw($content){preg_match_all("|<img[^>]+src="([^>"]+)"?[^>]*>|is", $content, $img);$imgsrc = !empty($img[1]) ? $img[1][0] : '';if($imgsrc):return $imgsrc;endif;}( S6 p, W; G3 [: F" d
- //Custom: 获取附件第一张图片7 M) k& X2 o: R# ^0 g$ h2 l
- 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']));}
, M7 a- ?/ C; I; H0 r - return $img_path;}?>
复制代码 第二步:然后在log_list.php的foreach循环中加入如下代码- <?php if(img_zw($value['content'])){$imgurl = img_zw($value['content']);
E5 y0 R# v+ s0 U, h L - }elseif(img_fj($value['logid'])){$imgurl = img_fj($value['logid']);
& S1 X0 R1 H% s* E# C: K0 R/ f - }else{$imgurl = TEMPLATE_URL.'images/'.rand(1,5).'.jpg';}( i. {) B9 g' S1 d
- ?><p><img src="<?php echo $imgurl;?>" /></p>
复制代码 本教程代码结束!!!!% Z0 J/ c; X9 ]3 M) ?/ n
以下代码为舍力自用代码,请不必理会,直接替换上面第二步代码,即实现有调用正文第一张图片 => 附件图片 => 无图片则不显示。- <?php if(img_zw($value['content'])){$imgurl = img_zw($value['content']);?><p><img src="<?php echo $imgurl;?>" /></p>
_8 w5 E ]: `, g* p, F - <?php }elseif(img_fj($value['logid'])){$imgurl = img_fj($value['logid']);?><p><img src="<?php echo $imgurl;?>" /></p>! c' u: s6 [" q5 ?' j {
- <?php }else{}?>
复制代码
- {. ~( p. p: \0 ?) q |