编程 php在使用JQuery.lazyload图片懒加载时,正则替换Img的src为original

2024-11-17 18:13:34 +0800 CST views 3074

在页面有很多大图的时候,为了用户体验和服务器的压力着想,我们通常会使用图片懒加载技术。

在使用lazyload做懒加载时,我们需要提前处理一下图片的src值,使之指向一个占位符图片的地址,把真实的图片路径赋给original,以便jquery.lazyload能正常执行。
后端代码如下

<?php
$content ='<img src="http://www.shus.live/uploadfile/2019/0525/20190525111840960.jpg" /><br />
<img src="http://www.shus.live/uploadfile/2019/0525/20190525111840803.jpg" /><br />
<img src="http://www.shus.live/uploadfile/2019/0525/20190525111841490.jpg" /><br />
<img src="http://www.shus.live/uploadfile/2019/0525/20190525111842214.jpg" /><br />
<img src="http://www.shus.live/uploadfile/2019/0525/20190525111852360.jpg" /><br />
<img src="http://www.shus.live/uploadfile/2019/0525/20190525111924104.jpg" /><br />
<img src="http://www.shus.live/uploadfile/2019/0525/20190525111853380.jpg" /><br />
<img src="http://www.shus.live/uploadfile/2019/0525/20190525111853376.jpg" /><br />
<img src="http://www.shus.live/uploadfile/2019/0525/20190525111854973.jpg" /><br />
<img src="http://www.shus.live/uploadfile/2019/0525/20190525111855883.jpg" /><br />
<img src="http://www.shus.live/uploadfile/2019/0525/20190525112000684.jpg" /><br />
<img src="http://www.shus.live/uploadfile/2019/0525/20190525112001330.jpg" /><br />
<img src="http://www.shus.live/uploadfile/2019/0525/20190525112001834.jpg" /><br />
<img src="http://www.shus.live/uploadfile/2019/0525/20190525112002408.jpg" /><br />
<img src="http://www.shus.live/uploadfile/2019/0525/20190525112002841.jpg" /><br />
<img src="http://www.shus.live/uploadfile/2019/0525/20190525112003485.jpg" /><br />
';
$content = preg_replace('/<img(.+)src=[\'"]([^\'"]+)[\'"](.*)>/i',"<img$1data-original='$2' src='https://g.alicdn.com/s.gif'$3>",$content); 

替换后代码如下

<img data-original='http://www.shus.live/uploadfile/2019/0525/20190525111840960.jpg' src='https://g.alicdn.com/s.gif' /><br />
<img data-original='http://www.shus.live/uploadfile/2019/0525/20190525111840803.jpg' src='https://g.alicdn.com/s.gif' /><br />
<img data-original='http://www.shus.live/uploadfile/2019/0525/20190525111841490.jpg' src='https://g.alicdn.com/s.gif' /><br />
<img data-original='http://www.shus.live/uploadfile/2019/0525/20190525111842214.jpg' src='https://g.alicdn.com/s.gif' /><br />
<img data-original='http://www.shus.live/uploadfile/2019/0525/20190525111852360.jpg' src='https://g.alicdn.com/s.gif' /><br />
<img data-original='http://www.shus.live/uploadfile/2019/0525/20190525111924104.jpg' src='https://g.alicdn.com/s.gif' /><br />
<img data-original='http://www.shus.live/uploadfile/2019/0525/20190525111853380.jpg' src='https://g.alicdn.com/s.gif' /><br />
<img data-original='http://www.shus.live/uploadfile/2019/0525/20190525111853376.jpg' src='https://g.alicdn.com/s.gif' /><br />
<img data-original='http://www.shus.live/uploadfile/2019/0525/20190525111854973.jpg' src='https://g.alicdn.com/s.gif' /><br />
<img data-original='http://www.shus.live/uploadfile/2019/0525/20190525112000684.jpg' src='https://g.alicdn.com/s.gif' /><br />
<img data-original='http://www.shus.live/uploadfile/2019/0525/20190525112001330.jpg' src='https://g.alicdn.com/s.gif' /><br />
<img data-original='http://www.shus.live/uploadfile/2019/0525/20190525112001834.jpg' src='https://g.alicdn.com/s.gif' /><br />
<img data-original='http://www.shus.live/uploadfile/2019/0525/20190525112002408.jpg' src='https://g.alicdn.com/s.gif' /><br />
<img data-original='http://www.shus.live/uploadfile/2019/0525/20190525112002841.jpg' src='https://g.alicdn.com/s.gif' /><br />
<img data-original='http://www.shus.live/uploadfile/2019/0525/20190525112003485.jpg' src='https://g.alicdn.com/s.gif' /><br />

前端代码如下

<script src="//cdn.bootcss.com/jquery_lazyload/1.9.7/jquery.lazyload.min.js"></script>
<script>$(".cxt img").lazyload();   </script>

效果截图

3.png

复制全文 生成海报 前端开发 性能优化 技术实现

推荐文章

回到上次阅读位置技术实践
2025-04-19 09:47:31 +0800 CST
Elasticsearch 的索引操作
2024-11-19 03:41:41 +0800 CST
支付轮询打赏系统介绍
2024-11-18 16:40:31 +0800 CST
手机导航效果
2024-11-19 07:53:16 +0800 CST
html一些比较人使用的技巧和代码
2024-11-17 05:05:01 +0800 CST
jQuery `$.extend()` 用法总结
2024-11-19 02:12:45 +0800 CST
Vue3中如何实现插件?
2024-11-18 04:27:04 +0800 CST
Golang在整洁架构中优雅使用事务
2024-11-18 19:26:04 +0800 CST
html5在客户端存储数据
2024-11-17 05:02:17 +0800 CST
最全面的 `history` 命令指南
2024-11-18 21:32:45 +0800 CST
使用Vue 3实现无刷新数据加载
2024-11-18 17:48:20 +0800 CST
使用xshell上传和下载文件
2024-11-18 12:55:11 +0800 CST
使用 `nohup` 命令的概述及案例
2024-11-18 08:18:36 +0800 CST
程序员茄子在线接单