本文实例讲述了PHP基于正则批量替换Img中src内容实现获取缩略图的功能。分享给大家供大家参考,具体如下:
这里PHP用正则批量替换Img中src内容,实现获取图片路径缩略图的功能
网上很多正则表达式只能获取或者替换一个img的src内容,或者只能替换固定的字符串,要动态替换多个图片内容的试了几个小时才解决。
1
2
3
4
5
6
7
8
9
10
11
|
/** * 图片地址替换成压缩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 ; } |
实例使用代码:
1
2
3
4
|
$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>
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
https://tool.zzvips.com/t/regex/
正则表达式在线生成工具:
https://tool.zzvips.com/t/regcode/
希望本文所述对大家PHP程序设计有所帮助。