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

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

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

在使用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

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

推荐文章

Linux 常用进程命令介绍
2024-11-19 05:06:44 +0800 CST
Vue3中如何处理异步操作?
2024-11-19 04:06:07 +0800 CST
go发送邮件代码
2024-11-18 18:30:31 +0800 CST
PHP来做一个短网址(短链接)服务
2024-11-17 22:18:37 +0800 CST
动态渐变背景
2024-11-19 01:49:50 +0800 CST
前端项目中图片的使用规范
2024-11-19 09:30:04 +0800 CST
HTML和CSS创建的弹性菜单
2024-11-19 10:09:04 +0800 CST
Vue3 实现页面上下滑动方案
2025-06-28 17:07:57 +0800 CST
Python实现Zip文件的暴力破解
2024-11-19 03:48:35 +0800 CST
详解 Nginx 的 `sub_filter` 指令
2024-11-19 02:09:49 +0800 CST
Go 开发中的热加载指南
2024-11-18 23:01:27 +0800 CST
Vue中的异步更新是如何实现的?
2024-11-18 19:24:29 +0800 CST
PHP openssl 生成公私钥匙
2024-11-17 05:00:37 +0800 CST
禁止调试前端页面代码
2024-11-19 02:17:33 +0800 CST
deepcopy一个Go语言的深拷贝工具库
2024-11-18 18:17:40 +0800 CST
PHP 压缩包脚本功能说明
2024-11-19 03:35:29 +0800 CST
Vue3中如何实现插件?
2024-11-18 04:27:04 +0800 CST
#免密码登录服务器
2024-11-19 04:29:52 +0800 CST
程序员茄子在线接单