typecho获取文章第一张图片做缩略图
首先在function.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 "https://s2.loli.net/2022/05/17/LgzDKOf27taBhMo.jpg
"; //没找到(默认情况下),不输出任何内容
};
}
然后在首页想展示的位置添加如下代码
样式自己调整即可
[wm_reply]
<img style="margin:0;height:150px;width:30px;max-height:55%;border-radius:2px;" src="<?php echo img_postthumb($this->cid); ?>"></a>
[/wm_reply]
使用
写文章时插入这种格式图片即可
<img src="图片地址">
头图会自动识别出来第一张作为缩略图
评价
缺点:只能识别第一张 <@img src="地址"@> 这样的图片,其他格式代码的识别不了。
本文采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
- 上一篇: 【必备】5000款设计师必备字体
- 下一篇: 热歌《解药》免费分享下载