生活在合肥,爱上合肥社区

合肥163论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 115|回复: 0

PHP 正则表达式匹配 img ,PHP 正则提取或替换图片 img 标记中的任意属性

[复制链接]

141

主题

183

帖子

791

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
791
发表于 2016-10-2 00:04:47 | 显示全部楼层 |阅读模式
  1. /*PHP正则提取图片img标记中的任意属性*/
  2. $str = '<center><img src="/uploads/images/20100516000.jpg" height="120" width="120"><br />PHP正则提取或更改图片img标记中的任意属性</center>';

  3. //1、取整个图片代码
  4. preg_match('/<\s*img\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i',$str,$match);
  5. echo $match[0];

  6. //2、取width
  7. preg_match('/<img.+(width=\"?\d*\"?).+>/i',$str,$match);
  8. echo $match[1];

  9. //3、取height
  10. preg_match('/<img.+(height=\"?\d*\"?).+>/i',$str,$match);
  11. echo $match[1];

  12. //4、取src
  13. preg_match('/<img.+src=\"?(.+\.(jpg|gif|bmp|bnp|png))\"?.+>/i',$str,$match);
  14. echo $match[1];

  15. /*PHP正则替换图片img标记中的任意属性*/
  16. //1、将src="/uploads/images/20100516000.jpg"替换为src="/uploads/uc/images/20100516000.jpg")
  17. print preg_replace('/(<img.+src=\"?.+)(images\/)(.+\.(jpg|gif|bmp|bnp|png)\"?.+>)/i',"\${1}uc/images/\${3}",$str);
  18. echo "<hr/>";

  19. //2、将src="/uploads/images/20100516000.jpg"替换为src="/uploads/uc/images/20100516000.jpg",并省去宽和高
  20. print preg_replace('/(<img).+(src=\"?.+)images\/(.+\.(jpg|gif|bmp|bnp|png)\"?).+>/i',"\${1} \${2}uc/images/\${3}>",$str);
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright ©2013-2015 hefei163.com All Right Reserved.  Powered by Discuz! (已备案)

本站信息均由会员发表,不代表合肥社区立场,如侵犯了您的权利请发帖投诉

平平安安
TOP
快速回复 返回顶部 返回列表