TYPECHO WIKI
每一个作品都值得被记录

Typecho 获取文章第一张图片做缩略图

Typecho维基君Typecho教程 • 1912次浏览 • 发布 2017-11-06 • 更新 2017-11-06

编写 functions.php 中的代码(给出的图片地址是绝对地址,如果想要相对地址可以使用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 "";  //没找到(默认情况下),不输出任何内容
};
}
</img.*?src\=\"(.*?)\"[^>

调用代码

<img src="<?php echo img_postthumb($this->cid); ?>">
<!--如果函数是输出的图片地址的话,则去掉上面注释实现插入图片-->
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,Typecho.Wiki所有文章均包含本声明。
厂商投放

【腾讯云】🎉五一云上盛惠!云服务器99元/月续费同价!

腾讯云五一劳动节海量产品 · 轻松上云!云服务器首年1.8折起,买1年送3个月!超值优惠,性能稳定,让您的云端之旅更加畅享。快来腾讯云选购吧!

广告
添加新评论 »