emlog缩略图不同实现方法:正文-附件-随机图片
时间:2015-6-1 01:05 作者:admin 分类: emlog
实现emlog列表也缩略图按先调用正文第一张图片,没有则调用附件图片,前2者都没有则调用随机图片,代码如下:首页在模板的module.php文件中加入如下代码:
<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php
//全局匹配正文中的图片并存入imgsrc中
function img_zw($content){preg_match_all("|<img[^>]+src=\"([^>\"]+)\"?[^>]>|is", $content, $img);$imgsrc = !empty($img[1]) ? $img[1][0] : '';if($imgsrc):return $imgsrc;endif;}
//Custom: 获取附件第一张图片
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']));}
return $img_path;}?>
然后在log_list.php中加入:
<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php if(img_zw($value['content'])){$imgurl = img_zw($value['content']);
}elseif(img_fj($value['logid'])){$imgurl = img_fj($value['logid']);
}else{$imgurl = TEMPLATE_URL.'images/'.rand(1,5).'.jpg';}
?><p><img src="<?php echo $imgurl;?>" /></p>
以下代码直接替换上面代码,实现有调用正文第一张图片 => 附件图片 => 无图片则不显示。
<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php if(img_zw($value['content'])){$imgurl = img_zw($value['content']);?><p><img src="<?php echo $imgurl;?>" /></p>
<?php }elseif(img_fj($value['logid'])){$imgurl = img_fj($value['logid']);?><p><img src="<?php echo $imgurl;?>" /></p>
<?php }else{}?>
标签: emlog