解析PHP正则提取或替换img标记属性

2025-05-29 0 85

核心代码

  1. <?php
  2. /*PHP正则提取图片img标记中的任意属性*/
  3. $str='<center><imgsrc="/uploads/images/20100516000.jpg"height="120"width="120"><br/>PHP正则提取或更改图片img标记中的任意属性</center>';
  4. //1、取整个图片代码
  5. preg_match('/<s*imgs+[^>]*?srcs*=s*('|")(.*?)[^>]*?/?s*>/i',$str,$match);
  6. echo$match[0];
  7. //2、取width
  8. preg_match('/<img.+(width="?d*"?).+>/i',$str,$match);
  9. echo$match[1];
  10. //3、取height
  11. preg_match('/<img.+(height="?d*"?).+>/i',$str,$match);
  12. echo$match[1];
  13. //4、取src
  14. preg_match('/<img.+src="?(.+.(jpg|gif|bmp|bnp|png))"?.+>/i',$str,$match);
  15. echo$match[1];
  16. /*PHP正则替换图片img标记中的任意属性*/
  17. //1、将src="/uploads/images/20100516000.jpg"替换为src="/uploads/uc/images/20100516000.jpg")
  18. printpreg_replace('/(<img.+src="?.+)(images/)(.+.(jpg|gif|bmp|bnp|png)"?.+>)/i',"${1}uc/images/${3}",$str);
  19. echo"<hr/>";
  20. //2、将src="/uploads/images/20100516000.jpg"替换为src="/uploads/uc/images/20100516000.jpg",并省去宽和高
  21. printpreg_replace('/(<img).+(src="?.+)images/(.+.(jpg|gif|bmp|bnp|png)"?).+>/i',"${1}${2}uc/images/${3}>",$str);
  22. ?>

PHP获取所有图片地址正则表达式

不带图片的所有图片地址匹配:

preg_match_all('/(s+srcs?=)s?['|"]([^'|"]*)/is', $request->input('detail_content'), $match);

带data:image/的:

preg_match_all('/(s+srcs?=)s?['|"]([^'|"]*)[data]/is', $request->input('detail_content'), $match);

PHP正则获取一段字符串中所有图片地址

有的时候我们需要获取文章内容或者字符串中所有的图片地址,那么我们首先想到的就是正则匹配,该怎么实现呢,下面就是小编的亲测方法

  1. $str='<p><imgsrc="/wp-content/uploads/202505/29/25455"/></p><p><imgsrc="/Home/images/404.jpg"style=""title="404.jpg"/></p><p><imgsrc="/wp-content/uploads/202505/29/25455"style=""title="1529561322214.png"/></p><p><br/></p>';
  2. $preg='/<img.*?src=["|']?(.*?)["|']?s.*?>/i';//匹配img标签的正则表达式
  3. preg_match_all($preg,$str,$allImg);//这里匹配所有的img
  4. echo'<pre>';
  5. print_r($allImg);

输出结果如下

  1. (
  2. [0]=>Array
  3. (
  4. [0]=><imgsrc="/wp-content/uploads/202505/29/25455"/>
  5. [1]=><imgsrc="/Home/images/404.jpg"style=""title="404.jpg"/>
  6. [2]=><imgsrc="/wp-content/uploads/202505/29/25455"style=""title="1529561322214.png"/>
  7. )
  8. [1]=>Array
  9. (
  10. [0]=>/upload/20180621/1529561322214.png
  11. [1]=>/Home/images/404.jpg
  12. [2]=>/upload/20180621/1529561322214.png
  13. )
  14. )

到此这篇关于解析PHP正则提取或替换img标记属性的文章就介绍到这了,更多相关PHP 正则提取 替换img标记属性内容请搜素快网idc以前的文章或下面相关文章,希望大家以后多多支持快网idc!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 解析PHP正则提取或替换img标记属性 https://www.kuaiidc.com/106798.html

相关文章

发表评论
暂无评论