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="#"><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="#"><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>

原文地址:https://www.cnblogs.com/qcjdp/p/10844218.html

时间: 2024-08-05 08:36:47

PHP用正则批量替换Img中src内容,用正则表达式获取图片路径实现缩略图功能的相关文章

shell 批量替换文本中的内容

批量替换脚本文件中的目录/proc,为/etc/init.d [[email protected] course_04]# more test.sh  #!/bin/bash DIR=/proc aa=`ls $DIR` echo $aa 验证是否全部修改完成

php批量替换数组中的元素值

<?php $files = array();foreach (glob("/www/wwwroot/5.com/*.jpg") as $file) { $files[] = $file;} $ss =str_replace('/www/wwwroot/5.com/','5.com.com/',$files); print_r($ss); php批量替换数组中的元素值 原文地址:https://www.cnblogs.com/ysbl/p/12264462.html

修改文件名称或者替换文件名中的内容

import os def putName(path, flag, oldName, newName): """ 修改文件名称或者替换文件名中的内容 """ dirList = os.listdir(path) for i in dirList: if i.startswith('.'): continue newPath = os.path.join(path, i) if os.path.isdir(newPath): putName(new

linux shell 脚本获取和替换文件中特定内容

1.从一串字符串中获取特定的信息 要求1:获取本机IP:menu.lst为系统镜象的IP配置文件,需要从中获取到本机IP信息(从文件获取信息) 1 timeout 1 2 default 0 3 4 title live 5 find --set-root /casper/vmlinuz 6 kernel /casper/vmlinuz boot=casper ignore_uuid showmounts ip=eth0,10.0.66.66,255.255.240.0,10.0.64.3 7

如何使用CAD编辑器批量删除图纸中的内容

大家都知道我们经常使用到的CAD图纸一般都是借助CAD编辑器来绘制完成的,但是如果我们在查看CAD图纸时发现图纸中有的地方编辑错误,需要进行删除,如果一个一个去进行操作非常的浪费时间,如何使用迅捷CAD编辑器专业版批量删除图纸中的内容.具体要怎么操作呢?本编教程就来教教大家如何使用迅捷CAD编辑器专业版批量删除图纸中的内容. 第一步:首先还是需要在电脑中打开一个浏览器,在浏览器中搜索迅捷CAD编辑器专业版,进入到迅捷CAD官网,鼠标点击下载安装最新版本的迅捷CAD编辑器,然后双击打开该软件,进入

linux中批量替换文本中字符串--转载

(一)通过vi编辑器来替换.vi/vim 中可以使用 :s 命令来替换字符串.:s/well/good/ 替换当前行第一个 well 为 good:s/well/good/g 替换当前行所有 well 为 good:n,$s/well/good/ 替换第 n 行开始到最后一行中每一行的第一个 well 为 good:n,$s/well/good/g 替换第 n 行开始到最后一行中每一行所有 well 为 goodn 为数字,若 n 为 .,表示从当前行开始到最后一行:%s/well/good/(

批量替换url,指定内容不替换

如果需要批量替换url的某几部分,当然是用正则了比如在CI框架中要把 <img src="pc/baidu/aa.jpg"> 替换成 <img src="<?php echo base_url('pc/baidu/aa.jpg');?>"> 对应的正则式是这样写的: 1 src="(.*?)" //正则匹配这样写 2 src="<?php echo base_url\('$1'\);?>&

sql 替换字段中部分内容

背景: 项目中安装ssl证书,http升级为https,突然发现文章表中,内容生成的html,域名保存到数据库中, 文章详情字段,出现大量的http://xxx.com/xx  由于内容太多,发愁中ing.... 突然想 update语句能不能更新部分内容,一查发现还真有: update article_form set cont = replace(cont ,'http://','https://'); 一次性解决,速度还挺快 秒级上万条. 原文地址:https://www.cnblogs.

如何批量替换excel中的链接

在excel中,我们经常会在单元格中设置文件的链接,但是这些文件的名称和路径如果发生了变化,这些链接就变成了无效链接. 如果只有几个这样的单元格,我们完全可以手动修改,那么如果有很多怎么办?难道要手动一个一个修改吗?接下来就和大家分享批量修改文件链接的方法.大家先看下面对原始文件的截图. 单元格a1,a2 分别有两个文件链接 1 IT 共享文件夹的链接路径是 \\fsc1tia11\projects\it  2. 标准化软件的链接路径是 \\fsc1tia11\software\standard