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

yipeiwu_com5年前PHP代码库

本文实例讲述了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="/zb_users/upload/202003/p4lxm30swlo.jpg"></a>'
.'<p><img class="center" src="/zb_users/upload/202003/i4oljpt2i2o.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>

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript

正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php正则表达式用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

PHP学习笔记之session

cookie和session是web开发新手容易搞混的两个概念,弄清楚两者有助于对web交互更好的理解。个人认为session和cookie的区别主要有如下几点: cookie 信息保存...

PHP中英混合字符串截取函数代码

复制代码 代码如下: function get_word($string, $length, $dot = '..',$charset='gbk') { if(strlen($strin...

PHP中生成UUID自定义函数分享

UUID 全称是 Universally unique identifier,它是一种识别符,使用任意的计算机都可以生成,不需要一个中央数据库进行管理,即可以保证几乎没有重复的几率。而...

PHP定时执行计划任务的多种方法小结

PHP定时执行计划任务的多种方法小结

PHP定时执行的三种方式实现 1、windows 的计划任务 2、linux的脚本程序 3、让web浏览器定时刷新 具体实现 windows计划任务 PHP很少在win服务器上跑,具体实...

解析php入库和出库

数据放入数据库和取出来显示在页面需要注意什么 入库时 $str=addslashes($str); $sql=\"insert into `tab` (`content`) values...