分享循环中获取内容中的图片并限制数量思路

序如何实现循环中获取内容中的图片并限制数量功能函数放到自定义函数文件/** * 获取内容中的缩略...

如何实现循环中获取内容中的图片并限制数量功能

函数

放到自定义函数文件

/**
 * 获取内容中的缩略图
 * @param $value 内容值
 * @param $num 指定获取数量
 * @return 在变量中提取img标签的图片路径到数组
 */
function get_content_img($value, $num = 0) {
    return qh_get_content_url($value, 'src', 'gif|jpg|jpeg|png', $num);
}

替换并循环再输出

/**
 * 获取内容中的指定标签URL地址
 * @param $value 内容值
 * @param $attr 标签值,例如src
 * @param $ext 指定扩展名,例如jpg|gif
 * @param $num 指定获取数量
 * @return 在变量中提取img标签的图片路径到数组
 */
function qh_get_content_url($value, $attr, $ext, $num = 0) {
    $rt = [];
    if (!$value) {
        return $rt;
    }
    $ext = str_replace(',', '|', $ext);
    $value = preg_replace('/\.('.$ext.')@(.*)(\'|")/iU', '.$1$3', $value);
    if (preg_match_all("/(".$attr.")=([\"|']?)([^ \"'>]+\.(".$ext."))\\2/i", $value, $imgs)) {
        $imgs[3] = array_unique($imgs[3]);
        foreach ($imgs[3] as $i => $img) {
            if ($num && $i+1 > $num) {
                break;
            }
            $rt[] = trim($img, '"');
        }
    }
    return $rt;
}

使用

<ul class="img-list-more">
{php $imgs = get_content_img($v['content'],3);} 
{loop $imgs $img}
    <li>
        <div class="qh-radius">
            <div>
                <img data-src="{$img}" data-artZoom-show="{$img}" data-artZoom-source="{$img}" src="{$img}" class="qh-radius lazy artZoom"></div>
            <span class="image-number">+
                <b>{dr_count($imgs)}</b>
            </span>
        </div>
    </li>{/loop}
    </ul>
声明:
1、本网站名称:乐源屋 - 资源分享平台
2、本站永久网址:https://leyuanwu.com/
3、分享是一种美德,转载请保留原链接。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。

予人玫瑰,手有余香

上一篇

简述查询某字段某数据表记录数的查询方式

下一篇

Vue版省市联动 json格式文字版本 (element组件)

0条回复
因为爱过,所以慈悲;因为懂得,所以宽容
今日签到
搜索