实现emlog列表也缩略图按先调用正文第一张图片,没有则调用附件图片,如果前两者都没有则调用随机图片代码. U3 a$ @% v# Q @$ A+ H% Q: _
1 o3 P7 C8 u% Q: ^
第一步:首先在模板的module.php文件中最后面加入如下代码- <?php
. Y1 U/ u* C7 J' h; E - //全局匹配正文中的图片并存入imgsrc中
3 ?( T( }2 f; b) U u - function img_zw($content){preg_match_all("|<img[^>]+src="([^>"]+)"?[^>]*>|is", $content, $img);$imgsrc = !empty($img[1]) ? $img[1][0] : '';if($imgsrc):return $imgsrc;endif;}
8 }1 u1 i: v( {3 r& t8 w$ k* C - //Custom: 获取附件第一张图片
4 d! }0 X6 J1 O, h - 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']));}
/ k3 ~; D; j0 N' B) C5 v4 E - return $img_path;}?>
复制代码 第二步:然后在log_list.php的foreach循环中加入如下代码- <?php if(img_zw($value['content'])){$imgurl = img_zw($value['content']);
& V% }8 Z- [1 S0 k: e. ^- T - }elseif(img_fj($value['logid'])){$imgurl = img_fj($value['logid']);. f. ^4 V$ o; m8 [) A- r6 _
- }else{$imgurl = TEMPLATE_URL.'images/'.rand(1,5).'.jpg';}
/ F; i6 g8 l1 I9 Q. U" N - ?><p><img src="<?php echo $imgurl;?>" /></p>
复制代码 本教程代码结束!!!!, n' K9 R& L1 ` L
以下代码为舍力自用代码,请不必理会,直接替换上面第二步代码,即实现有调用正文第一张图片 => 附件图片 => 无图片则不显示。- <?php if(img_zw($value['content'])){$imgurl = img_zw($value['content']);?><p><img src="<?php echo $imgurl;?>" /></p>. M6 Q4 P! W4 L$ F+ r( h" m& o
- <?php }elseif(img_fj($value['logid'])){$imgurl = img_fj($value['logid']);?><p><img src="<?php echo $imgurl;?>" /></p>& H+ \2 P: I o5 t% h3 J; W/ P
- <?php }else{}?>
复制代码
& |4 F! [# E7 `7 x0 ]! k! T |