/** 输出文章缩略图 */
function showThumbnail($widget,$imgnum){ //获取两个参数,文章的ID和需要显示的图片数量
 // 当文章无图片时的默认缩略图
 $rand = rand(1,20); 
 $random = $widget->widget('Widget_Options')->themeUrl . '/img/rand/' . $rand . '.jpg'; // 随机缩略图路径
 $attach = $widget->attachments(1)->attachment;
 $pattern = '/\]*>/i'; 
 $patternMD = '/\!\[.*?\]\((http(s)?:\/\/.*?(jpg|png))/i';
 $patternMDfoot = '/\[.*?\]:\s*(http(s)?:\/\/.*?(jpg|png))/i';
 //如果文章内有插图,则调用插图
 if (preg_match_all($pattern, $widget->content, $thumbUrl)) { 
  echo $thumbUrl[1][$imgnum];
 }
 //没有就调用第一个图片附件
 else if ($attach && $attach->isImage) {
  echo $attach->url; 
 } 
 //如果是内联式markdown格式的图片
 else if (preg_match_all($patternMD, $widget->content, $thumbUrl)) {
  echo $thumbUrl[1][$imgnum];
 }
 //如果是脚注式markdown格式的图片
 else if (preg_match_all($patternMDfoot, $widget->content, $thumbUrl)) {
  echo $thumbUrl[1][$imgnum];
 }
 //如果真的没有图片,就调用一张随机图片
 else{
  echo $random;
 }
}

输出代码:

获取第1,第2,第3张图片代码

TAGS:typecho
!如链接失效请在下方留言。本站所有资源均来源于网络,版权属于原作者!仅供学习参考,本站不对您的使用负任何责任。如果有侵权之处请第一时间联系我们删除,敬请谅解!