实现原理:
大致是这样的,文章的ID作为参数传给函数,函数通过正则式匹配获取这个id的文章里面出现的图片标签的src地址,从而获取第一张图片,然后输出即可。
实现代码:
1. 编写 functions.php 中的代码
function img_postthumb($cid) { $db = Typecho_Db::get(); $rs = $db->fetchRow($db->select('table.contents.text') ->from('table.contents') ->where('table.contents.cid=?', $cid) ->order('table.contents.cid', Typecho_Db::SORT_ASC) ->limit(1)); preg_match_all("/\<img.*?src\=\"(.*?)\"[^>]*>/i", $rs['text'], $thumbUrl); //通过正则式获取图片地址 $img_src = $thumbUrl[1][0]; //将赋值给img_src $img_counter = count($thumbUrl[0]); //一个src地址的计数器 switch ($img_counter > 0) { case $allPics = 1: echo $img_src; //当找到一个src地址的时候,输出缩略图 break; default: echo ""; //没找到(默认情况下),不输出任何内容 }; }
2. 调用代码
<img src="<?php echo img_postthumb($this->cid); ?>"> <!--如果函数是输出的图片地址的话,则去掉上面注释实现插入图片-->
评论 (0)