找回密码
 立即注册

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

2022-7-23 22:16:43 · 站长社区
  1. //添加首页缩略图
  2. function img_postthumb($cid) {
  3.    $db = Typecho_Db::get();
  4.    $rs = $db->fetchRow($db->select('table.contents.text')
  5.        ->from('table.contents')
  6.        ->where('table.contents.cid=?', $cid)
  7.        ->order('table.contents.cid', Typecho_Db::SORT_ASC)
  8.        ->limit(1));

  9.    preg_match_all("/\<img.*?src\="(.*?)"[^>]*>/i", $rs['text'], $thumbUrl);  //通过正则式获取图片地址
  10.    $img_src = $thumbUrl[1][0];  //将赋值给img_src
  11.    $img_counter = count($thumbUrl[0]);  //一个src地址的计数器

  12.    switch ($img_counter > 0) {
  13.        case $allPics = 1:
  14.            echo $img_src;  //当找到一个src地址的时候,输出缩略图
  15.            break;

  16.       default:
  17.            echo "https://s2.loli.net/2022/05/17/LgzDKOf27taBhMo.jpg
  18. ";  //没找到(默认情况下),不输出任何内容
  19.    };


  20. }
复制代码
然后在首页想展示的位置添加如下代码
样式自己调整即可

  1. <img style="margin:0;height:150px;width:30px;max-height:55%;border-radius:2px;" src="<?php echo img_postthumb($this->cid); ?>"></a>
复制代码
写文章时插入这种格式图片即可
  1. <img src="图片地址">
复制代码
头图会自动识别出来第一张作为缩略图
评价
缺点:只能识别第一张 <@img src="地址"@> 这样的图片,其他格式代码的识别不了。



全部评论 0

  1. //添加首页缩略图
  2. function img_postthumb($cid) {
  3.    $db = Typecho_Db::get();
  4.    $rs = $db->fetchRow($db->select('table.contents.text')
  5.        ->from('table.contents')
  6.        ->where('table.contents.cid=?', $cid)
  7.        ->order('table.contents.cid', Typecho_Db::SORT_ASC)
  8.        ->limit(1));

  9.    preg_match_all("/\<img.*?src\="(.*?)"[^>]*>/i", $rs['text'], $thumbUrl);  //通过正则式获取图片地址
  10.    $img_src = $thumbUrl[1][0];  //将赋值给img_src
  11.    $img_counter = count($thumbUrl[0]);  //一个src地址的计数器

  12.    switch ($img_counter > 0) {
  13.        case $allPics = 1:
  14.            echo $img_src;  //当找到一个src地址的时候,输出缩略图
  15.            break;

  16.       default:
  17.            echo "https://s2.loli.net/2022/05/17/LgzDKOf27taBhMo.jpg
  18. ";  //没找到(默认情况下),不输出任何内容
  19.    };


  20. }
复制代码
然后在首页想展示的位置添加如下代码
样式自己调整即可

  1. <img style="margin:0;height:150px;width:30px;max-height:55%;border-radius:2px;" src="<?php echo img_postthumb($this->cid); ?>"></a>
复制代码
写文章时插入这种格式图片即可
  1. <img src="图片地址">
复制代码
头图会自动识别出来第一张作为缩略图
评价
缺点:只能识别第一张 <@img src="地址"@> 这样的图片,其他格式代码的识别不了。



热门推荐
您需要登录后才可以回帖 立即登录
说说你的想法......
0
0
0
返回顶部