php 正则匹配img标签中的自定义属性值

将原始的字符串 正则匹配替换成指定的字符串类型

如以下的字符串:

 $str="<p>张三去吃饭喝酒</p><p><img src=\"https://www.baidu.com/Uploads/temp/2202151602455277.png\" data-id=\"2458\" data-path=\"/temp/2202151602455277.png\"></p><p>332iojdfiojfvijfvi</p><p><br></p><p><img src=\"https://www.baidu.com/Uploads/temp/2202151602456643.png\" data-id=\"2457\" data-path=\"/temp/2202151602456643.png\"></p><p>好的好的收到收到会不会不舍得好久不见表达式</p><p><br></p><p><img src=\"https://www.baidu.com.com/Uploads/temp/2202151602456643.png\" data-id=\"2457\" data-path=\"/temp/2202151602456643.png\"></p><p><br></p><img  data-id=\"2456\" data-path=\"/temp/2202151602453547.png\"  src=\"https://www.baidu.com/Uploads/temp/2202151602453547.png\" />";

将所有的img标签中的内容替换成 [IMG] data-id的值,data-path的值 [/IMG] 这种格式的值

需要使用到的php函数是

preg_replace() 函数执行一个正则表达式的搜索和替换。 语法
mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int KaTeX parse error: Expected 'EOF', got '&' at position 19: …it = -1 [, int &̲count ]] ) 搜索 subject 中匹配

pattern 的部分, 以 replacement 进行替换。

参数说明:
$pattern: 要搜索的模式,可以是字符串或一个字符串数组。
$replacement: 用于替换的字符串或字符串数组。
$subject: 要搜索替换的目标字符串或字符串数组。 $limit: 可选,对于每个模式用于每个 subject
字符串的最大可替换次数。 默认是-1(无限制)。 $count: 可选,为替换执行的次数。

使用案例:
将 google 替换为 runoob

 <?php
> $string = 'google 123, 456';
> $pattern = '/(\w+) (\d+),
> (\d+)/i';
> $replacement = 'runoob ${2},$3';
> echo preg_replace($pattern,
>结果是 $replacement, $string);
>?>

具体操作的代码:
//原始字符串

$str="<p>张三去吃饭喝酒</p><p><img src=\"https://www.baidu.com/Uploads/temp/2202151602455277.png\" data-id=\"2458\" data-path=\"/temp/2202151602455277.png\"></p><p>332iojdfiojfvijfvi</p><p><br></p><p><img src=\"https://www.baidu.com/Uploads/temp/2202151602456643.png\" data-id=\"2457\" data-path=\"/temp/2202151602456643.png\"></p><p>好的好的收到收到会不会不舍得好久不见表达式</p><p><br></p><p><img src=\"https://www.baidu.com/Uploads/temp/2202151602456643.png\" data-id=\"2457\" data-path=\"/temp/2202151602456643.png\"></p><p><br></p><img  data-id=\"2456\" data-path=\"/temp/2202151602453547.png\"  src=\"https://www.baidu.com/Uploads/temp/2202151602453547.png\" />";$preg = '/<img.*?data-id=[\'|\"](.*?)[\'|\"].*?data-path=[\'|\"](.*?)[\'|\"].*?[\/]?>/';   // 匹配的正则表达式
$str=preg_replace($preg, '[IMG]$1,$2[/IMG]',$str);var_dump($content);结果是
<p>张三去吃饭喝酒</p><p>[IMG]2458,/temp/2202151602455277.png[/IMG]</p><p>332iojdfiojfvijfvi</p><p><br></p><p>[IMG]2457,/temp/2202151602456643.png[/IMG]</p><p>好的好的收到收到会不会不舍得好久不见表达式</p><p><br></p><p>[IMG]2457,/temp/2202151602456643.png[/IMG]</p><p><br></p>[IMG]2456,/temp/2202151602453547.png[/IMG]

使用到的技术有
php函数 preg_replace()使用
正则表达式的使用

php 正则匹配img标签中的自定义属性值相关推荐

  1. python爬虫正则匹配td标签中的内容,以及一些常用的正则

    '<td class="dd"><a href="#">Test</a></td>' 格式如上 正则如下: td ...

  2. php 匹配括号的个数,php 正则匹配括号内容 PHP实现正则匹配所有括号中的内容

    正则表达式:(?<=[)[^]]+ 注:以匹配中文括号中内容为例,如果匹配非中文括号,则需要在括号前增加转义符 PHP实现示例: $strSubject = "abc[111]abc[ ...

  3. php 正则 括号内容_PHP怎么实现正则匹配所有括号中的内容

    PHP实现正则匹配所有括号中的内容的方法:首先创建一个PHP文件:然后输入PHP正则匹配代码,如:"preg_match_all($strPattern, $strSubject, $arr ...

  4. php获取括号中的内容,PHP实现正则匹配所有括号中的内容

    PHP实现正则匹配所有括号中的内容 正则表达式:(?<=[)[^]]+ 注:以匹配中文括号中内容为例,如果匹配非中文括号,则需要在括号前增加转义符 PHP实现示例: $strSubject = ...

  5. html中加减号怎么输入,jQuery 实现点击加减号改变input标签中的value值,该怎么解决...

    jQuery 实现点击加减号改变input标签中的value值      我想点击左右两边的加减号,让中间input标签中的value属性值做出相应的改变,jQuery怎么实现? ------解决思路 ...

  6. js正则匹配闭合标签_正则匹配闭合HTML标签(支持嵌套)

    OK,先确定我们要解决的问题--从一段Html文本中找出特定id的标签的innerHTML. 这里面最大的难点就是,Html标签是支持嵌套的,怎么能够找到指定标签相对应的闭合标签呢? 我们可以这样想, ...

  7. php正则匹配input,正则表达式 - php正则匹配p标签及带特定的中文

    easyui在录入的时候如果录入html标签,则在datagrid显示的是标签,但是在input或者textarea里显示的又是正常的,将对应的符号转换成html代码则datagrid显示正常,inp ...

  8. php 正则匹配unicode,PHP中正则表达式对UNICODE字符码的匹配方法

    网友ainiaa的问题是 PHP代码如下 代码如下:$words = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSRUVW ...

  9. Python正则匹配 去除文本中的各类emoji表情符号

    我们的文本数据中经常会带有很多表情,如何完整地清除得到高质量的文本供我们利用呢? p = re.compile(u'['u'\U0001F300-\U0001F64F' u'\U0001F680-\U ...

最新文章

  1. LED亮度与电流之间的关系?
  2. 等值连接_干货:16种等值线图的解读与应用,用快速规律解题
  3. 颠覆传统4S店,特斯拉发布智能售后服务体系
  4. ssdt 表结构及hook的一般理解
  5. linux中asm数据库卸载教程,删除Linux非rac环境下的ASM实例
  6. springboot redis token_Spring Boot + Redis + 注解 + 拦截器来实现接口幂等性校验
  7. RGB与YUV格式简介
  8. python中倒着输出输入值_十五、深入Python输入和输出
  9. mysql数据库安装教程(超级超级详细)
  10. vue实现搜索框记录搜索历史_vue项目搜索历史功能的实现
  11. 计算机类ei和sci期刊,请教大家计算机领域数据挖掘方面有哪些比较好中的EI期刊和SCI期刊 - 论文投稿 - 小木虫 - 学术 科研 互动社区...
  12. mysql源码分析——InnoDB的内存结构源码
  13. android 蓝牙 bluetooth OPP文件传输
  14. 对话 Do Kwon :流亡、谎言和梦醒时分的懊悔
  15. diy:自制作四种智能小电器
  16. 物联网在智慧园区的运用
  17. 计算机网络 P32 IPv4 2-7 p36
  18. 蓝牙beacon打造智慧停车场
  19. 关于m3u8的一个小工具
  20. 晓帆:国外微博上的大佬都发什么?

热门文章

  1. Ubuntu windows 双硬盘 双系统 引导
  2. 2020年中国汽车电子软件行业发展现状、竞争格局及未来发展趋势分析,“软件定义汽车”重构汽车产业格局「图」
  3. css兼容 IE浏览器字号太小
  4. b360m能插HTML,终于可以愉快装第八代平台了,那么首发B360主板都有哪些?
  5. FGH40N60SMD 600V 80A 349W 逆变器高频IGBT单管
  6. ora-00972标识符过长
  7. 基于8550三极管、继电器、单片机的问题总结
  8. 涉密计算机及涉密网络使用自查,网络安全自查报告(2)
  9. 学生评教html模板,中期检查报告书
  10. JAVA设计模式什么鬼(备忘录)——作者:凸凹里歐