Typecho - 获取文章第一章图片
之前用过没问题,但是这个方法可能大家也需要自己修改才能成功,因为是用正则匹配获取出图片链接的,所以。。。
现在(2016.11.6)使用的主题也有这个功能,所以我文章里只要有img这个标签,就会匹配出一串字符串被当做是图片链接,就算是代码中有img标签,也会匹配出一张破图。= =
1. 编写 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 ""; //没找到(默认情况下),不输出任何内容
};
}
2. 调用代码
<img src="<?php echo img_postthumb($this->cid); ?>">
<!--如果函数是输出的图片地址的话,则去掉上面注释实现插入图片-->
方法来自:Typecho口袋(已访问不了)