PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例


Posted in PHP onJune 07, 2017

本文实例讲述了PHP基于正则批量替换Img中src内容实现获取缩略图的功能。分享给大家供大家参考,具体如下:

这里PHP用正则批量替换Img中src内容,实现获取图片路径缩略图的功能

网上很多正则表达式只能获取或者替换一个img的src内容,或者只能替换固定的字符串,要动态替换多个图片内容的试了几个小时才解决。

/**
* 图片地址替换成压缩URL
* @param string $content 内容
* @param string $suffix 后缀
*/
function get_img_thumb_url($content="",$suffix="!c550x260.jpg")
{
$pregRule = "/<[img|IMG].*?src=[\'|\"](.*?(?:[\.jpg|\.jpeg|\.png|\.gif|\.bmp]))[\'|\"].*?[\/]?>/";
$content = preg_replace($pregRule, '<img src="${1}'.$suffix.'" style="max-width:100%">', $content);
return $content;
}

实例使用代码:

$content = '<a href="#" rel="external nofollow" rel="external nofollow" ><img class="center" src="https://xxx.com/styles/images/default.jpg"></a>'
.'<p><img class="center" src="https://img.xxx.com/images/219_Ig5eZI.jpg" style="max-width: 100%;"></p>';
$newct = get_img_thumb_url($content);
print_r($newct);

输出结果:

<a href="#" rel="external nofollow" rel="external nofollow" ><img src="https://xxx.com/styles/images/default.jpg!c550x260.jpg" style="max-width:100%"></a><p><img src="https://img.xxx.com/images/219_Ig5eZI.jpg!c550x260.jpg" style="max-width:100%"></p>
PHP 相关文章推荐
让你的WINDOWS同时支持MYSQL4,MYSQL4.1,MYSQL5X
Dec 06 PHP
PHP中遍历stdclass object的实现代码
Jun 09 PHP
PHP读取文件并可支持远程文件的代码分享
Oct 03 PHP
nginx+php-fpm配置文件的组织结构介绍
Nov 07 PHP
php获取用户浏览器版本的方法
Jan 03 PHP
PHP上传文件时自动分配路径的方法
Jan 09 PHP
php中static和const关键字用法分析
Dec 07 PHP
php实现水印文字和缩略图的方法示例
Dec 29 PHP
php实现简单的权限管理的示例代码
Aug 25 PHP
利用Homestead快速运行一个Laravel项目的方法详解
Nov 14 PHP
PHP类的自动加载与命名空间用法实例分析
Jun 05 PHP
浅谈php常用的7大框架的优缺点
Jul 20 PHP
PHP框架laravel的.env文件配置教程
Jun 07 #PHP
理清PHP在Linxu下执行时的文件权限方法
Jun 07 #PHP
Laravel如何友好的修改.env配置文件详解
Jun 07 #PHP
PHP面向对象之事务脚本模式(详解)
Jun 07 #PHP
PHP框架自动加载类文件原理详解
Jun 06 #PHP
Yii输入正确验证码却验证失败的解决方法
Jun 06 #PHP
Yii 2.0在Grid中格式化时间方法示例
Jun 06 #PHP
You might like
基于文本的留言簿
2006/10/09 PHP
php中curl和file_get_content的区别
2014/05/10 PHP
js css样式操作代码(批量操作)
2009/10/09 Javascript
第一个JavaScript入门基础 document.write输出
2010/02/22 Javascript
基于jQuery的消息提示插件 DivAlert之旅(二)
2010/04/01 Javascript
动态创建样式表在各浏览器中的差异测试代码
2011/09/13 Javascript
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
2013/06/25 Javascript
js中window.open()的所有参数详细解析
2014/01/09 Javascript
jQuery实现的动态伸缩导航菜单实例
2015/05/07 Javascript
微信支付如何实现内置浏览器的H5页面支付
2015/09/25 Javascript
Node.js assert断言原理与用法分析
2019/01/04 Javascript
微信小程序开发实现的IP地址查询功能示例
2019/03/28 Javascript
微信小程序 拍照或从相册选取图片上传代码实例
2019/08/28 Javascript
在Vue中使用mockjs代码实例
2020/11/25 Vue.js
react项目从新建到部署的实现示例
2021/02/19 Javascript
[04:29]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/02/01 DOTA
简单实现python爬虫功能
2015/12/31 Python
python调用Delphi写的Dll代码示例
2017/12/05 Python
python使用logging模块发送邮件代码示例
2018/01/18 Python
Python图像处理之颜色的定义与使用分析
2019/01/03 Python
Python异常处理知识点总结
2019/02/18 Python
Python+threading模块对单个接口进行并发测试
2019/06/25 Python
python版百度语音识别功能
2019/07/09 Python
关于Flask项目无法使用公网IP访问的解决方式
2019/11/19 Python
scrapy数据存储在mysql数据库的两种方式(同步和异步)
2020/02/18 Python
Python如何爬取qq音乐歌词到本地
2020/06/01 Python
浅谈Python __init__.py的作用
2020/10/28 Python
python实现图片,视频人脸识别(dlib版)
2020/11/18 Python
德国童装购物网站:NICKI´S.com
2018/04/20 全球购物
MySQL面试题
2014/01/12 面试题
艺术系大学生毕业个人自我评价
2013/09/19 职场文书
售前工程师职业生涯规划
2014/03/02 职场文书
小学六一主持词开场白
2015/05/28 职场文书
导游词之南昌滕王阁
2019/11/29 职场文书
Pytorch中使用ImageFolder读取数据集时忽略特定文件
2022/03/23 Python
漫画《催眠麦克风-Dawn Of Divisions》第二卷PV公开
2022/04/05 日漫