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

摘要:

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

描述:

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

函数

放到自定义函数文件

/**
 * 获取内容中的缩略图
 * @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>
THE END
版权声明 1、本网站名称:黑猫查查网 - 查你所需,知你所想,资源分享平台
2、本站永久网址:https://www.hmccw.com
3、分享是一种美德,转载请保留原链接。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
文章不错?点个赞呗
点赞 0 赞赏 分享 收藏
评论 共 0 条

请登录后发表评论

暂无评论内容