Typecho获取文章第一张图片地址(可做缩略图)

Typecho获取文章第一张图片地址(可做缩略图)

CludeChn
2013-03-29 / 0 评论 / 687 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2013年03月29日,已超过4040天没有更新,若内容或图片失效,请留言反馈。

实现原理:

大致是这样的,文章的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); ?>">
<!--如果函数是输出的图片地址的话,则去掉上面注释实现插入图片-->

来源:http://d.lcz.me/13.html

0

评论 (0)

取消