typecho非插件获取缩略图



唔,因为之前做男纯主题的时候,需要抓取缩略图。

然后,因为各种原因,好吧,是因为强迫症,导致不想使用插件……

看了网上的两个插件都是,上传图片才能获得缩略图,外链的图片由一个插件也可以,但是体积太庞大了。

所以自己写了获取缩略图的方法。

其实很简单啦,总体思路是,从数据库抓取文章的内容

然后用正则截取第一张图片地址。

如果没有图片会用一张默认的图。

然后抓取到的url在主题文件中输出……

无关图片是本地还是外链,缩略图是通过css来裁剪的。

总之,可能你也需要,附上代码:


// 获取缩略图,将以下代码粘贴到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));
   $data = $rs['text'];


$a = '[2]';
  $str = strpos('$data','$a');
  print_r($str);
  if ($str==1) {
       $preg = '/(\]:).*(\[2)/Us';
   preg_match($preg, $data, $arr);
  $thumbUrl =  str_replace('[2','',substr($arr['0'],2));
    echo $thumbUrl;
  }else{
        $thumbUrlone = substr(strrchr($rs['text'],']:'),2); 
    echo $thumbUrlone;
  }
}


以上。


【end】

©Bilbili.pub 2016

Powered by CodeIgniter