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 相关文章推荐
使PHP自定义函数返回多个值
Nov 26 PHP
PHP中Fatal error session_start()错误解决步骤
Aug 05 PHP
PHP通过内置函数memory_get_usage()获取内存使用情况
Nov 20 PHP
PHP随机生成唯一HASH值自定义函数
Apr 20 PHP
判断、添加和删除WordPress置顶文章的相关PHP函数小结
Dec 10 PHP
yii2中添加验证码的实现方法
Jan 09 PHP
laravel项目利用twemproxy部署redis集群的完整步骤
May 11 PHP
ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】
May 12 PHP
PHP实现可精确验证身份证号码的工具类示例
May 31 PHP
PHP 实现手机端APP支付宝支付功能
Jun 07 PHP
Laravel框架学习笔记之批量更新数据功能
May 30 PHP
PHP实现单例模式建立数据库连接的方法分析
Feb 11 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
修改Laravel5.3中的路由文件与路径
2016/08/10 PHP
PHP进程通信基础之信号
2017/02/19 PHP
jQuery判断div随滚动条滚动到一定位置后停止
2014/04/02 Javascript
nodejs教程之入门
2014/11/21 NodeJs
windows8.1+iis8.5下安装node.js开发环境
2014/12/12 Javascript
JSON格式的键盘编码对照表
2015/01/29 Javascript
究竟什么是Node.js?Node.js有什么好处?
2015/05/29 Javascript
详解js中构造流程图的核心技术JsPlumb
2015/12/08 Javascript
js仿微博实现统计字符和本地存储功能
2015/12/22 Javascript
JavaScript实现通过select标签跳转网页的方法
2016/09/29 Javascript
JavaScript中的toString()和toLocaleString()方法的区别
2017/02/15 Javascript
vue2.0中goods选购栏滚动算法的实现代码
2017/05/17 Javascript
ES6模块化的import和export用法方法总结
2017/08/08 Javascript
十个免费的web前端开发工具详细整理
2017/09/18 Javascript
vue 自定义提示框(Toast)组件的实现代码
2018/08/17 Javascript
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
2019/03/13 Javascript
基于vue开发微信小程序mpvue-docs跳转页面功能
2019/04/10 Javascript
ES6 Promise对象的含义和基本用法分析
2019/06/14 Javascript
基于iview-admin实现动态路由的示例代码
2019/10/02 Javascript
vue-cli3.X快速创建项目的方法步骤
2019/11/14 Javascript
基于Vue.js+Nuxt开发自定义弹出层组件
2020/10/09 Javascript
[15:20]DOTA2亚洲邀请赛总决赛开幕式表演:羽泉献唱
2017/04/05 DOTA
[43:24]VG vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
[00:13]天涯墨客二技能展示
2018/08/25 DOTA
[03:00]2018完美盛典_最佳英雄奖
2018/12/17 DOTA
Python 修改列表中的元素方法
2018/06/26 Python
Python用于学习重要算法的模块pygorithm实例浅析
2018/08/16 Python
Python爬取微信小程序Charles实现过程图解
2020/09/29 Python
欧洲最大的化妆品连锁公司:Douglas道格拉斯
2017/05/06 全球购物
单身旅行者的单身假期:Just You
2018/04/08 全球购物
任意存:BOXFUL
2018/05/21 全球购物
档案工作汇报材料
2014/08/21 职场文书
幼儿园小班个人工作总结
2015/02/12 职场文书
英语专业毕业论文答辩开场白
2015/05/27 职场文书
死磕 java同步系列之synchronized解析
2021/06/28 Java/Android
Python实现简单的俄罗斯方块游戏
2021/09/25 Python