\extend\function.php 下面增加以下代码
if (!function_exists('diy_content_img')) {
/**
* 获得文档正文中的图片
*/
function diy_content_img($aid = '', $number = '0', $field = 'content')
{
//文档ID
if (!$aid) return false;
//判断条数存在且不为数字的情况下
if($number && !is_numeric($number)) $number = 0;
//根据aid获取栏目id
$channel = db('archives')->where('aid', $aid)->value('channel');
if (!$channel) return false;
//根据模型ID获取模型表
$table = db('channeltype')->where('id', $channel)->value('table');
if (!$table) return false;
//拼接附加表
$table = $table . '_content';
//根据模型表获取正文内容
$content = db($table)->where('aid', $aid)->value($field);
//转义HTML
$content = htmlspecialchars_decode($content);
//正则获取图片
$pattern = '/<img.*?src=["\']?(.*?)["\'].*?>/i';
preg_match_all($pattern, $content, $matches);
if (!empty($matches[1])) {
$data = array();
$count = count($matches[1]);
for ($i = 0; $i < $count; $i++) {
if ($number && $i >= $number) {
break;
}
$data[] = array(
'src' => $matches[1][$i]
);
}
return $data;
}
return false;
}
}
内容页调用
{eyou:volist name="(diy_content_img($eyou['field']['aid'],10))" id='field'}
<img src="{$field.src}" height="80" width="80">
{/eyou:volist}
循环调用
{eyou:volist name="(diy_content_img($field['aid']))" id='field1'}
<img src="{$field1.src}" height="80" width="80">
{/eyou:volist}
支持传参,第一个文章ID,第二个条数,默认为0=所有,第三个=字段,默认为content
diy_content_img($field['aid'])
自定义调用,比如我后台的编辑器字段为 bianjiqi,然后我就想要三张图
diy_content_img($field['aid'],3,'bianjiqi')
支持动态,伪静态,静态,任意模型,如果有什么问题可以留言联系!