dedecms(织梦) 获取文章全部图片的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dedecms(织梦) 获取文章全部图片的方法相关的知识,希望对你有一定的参考价值。

技术分享

最近在dedecms二次开发中 需要调用一片普通文章内的全部图片 

方法思路有很多 这里分享下其中一个

 

环境

织梦版本: DedeCMS V5.7 SP1正式版技术分享 发布日期: 2016-09-06(最新版 其他版应该通用)

php: 7.0.2(应该也通用) mysql: 5.6(5.2以上应该都同意)

代码

1.找到文件: 织梦根目录/include/extend.func.php 在最下方添加

/*
几个形参:
  $aid (文章id)
  $num (调用图片的数量)
  $style (两种调用样式)
*/
function
Getimgs($aid, $num = 0, $style = ‘‘){ global $dsql; $imgurls = ‘‘;
  //下两行区别正与是否指定数据库前缀 第一行效率更高 自行选择
  //$row = $dsql -> getone("Select body From `dede_addonarticle` where aid=‘$aid‘");//数据库前缀若为dede_可将此行注释删除(最前方双斜线)
$row = $dsql -> getone("Select body From `#@__addonarticle` where aid=‘$aid‘"); //若上一行注释删除 请将此行代码注释或删除 $imgurls = $row[‘body‘]; preg_match_all("/<[img|IMG].*?src=\\"(.*?)\\".*?\\/>/", $imgurls, $wordcount); $count = count($wordcount[1]); if ($num > $count || $num == 0) { $num = $count; } for($i = 0;$i < $num;$i++){ if($style == ‘li‘) { $imglist .=‘<li><a href="#‘.$i.‘"><img src="‘. trim($wordcount[1][$i]) .‘" /></a></li>‘; }else{ $imglist .= ‘<img src="‘. trim($wordcount[1][$i]) .‘" />‘; } } return $imglist; }

2.调用方式

在可以调用到的地方使用

{dede:field.id function=Getimgs(@me,5,‘li‘)/}

其中几个实参 @me(文章id), 5(调用图片数量[大于时间图片数量时无效]) , ‘li‘(两种样式)

方法基本如上(写的不好,望见谅) 另外,不懂的可在下方留言

 

以上是关于dedecms(织梦) 获取文章全部图片的方法的主要内容,如果未能解决你的问题,请参考以下文章

dedecms列表页有图调用缩略图无图留空的方法

织梦Dedecms5.7为何不能设置采集软件频道,进入后台只有文章和图片采集,怎么办?

织梦dedecms 调用文章图片数功能

织梦dedecms友情链接后台图片不显示的解决方法

织梦dedecms友情链接后台图片不显示的解决方法

织梦DEDECMS首页列表页面动态调用点击次数的方法