经常和图片打交道,不得不用到一些提取图片中scr、alt、title、等的属性,这里总结给大家一些常用的,感觉还不错,比较通用!
PHP正则表达式匹配img中任意属性PHP
复制代码 代码如下:
?php
/*PHP正则提取图片img标记中的任意属性*/
$str = 'center>img src="/uploads/images/20100516000.jpg" height="120" width="120">br />PHP正则提取或更改图片img标记中的任意属性/center>';
//1、取整个图片代码
preg_match('/\s*img\s+[^>]*?src\s*=\s*(\'|")(.*?)\1[^>]*?/?s*>/i',$str,$match);
echo $match[0];
//2、取width
preg_match('/img.+(width="?d*"?).+>/i',$str,$match);
echo $match[1];
//3、取height
preg_match('/img.+(height="?d*"?).+>/i',$str,$match);
echo $match[1];
//4、取src
preg_match('/img.+src="?(.+.(jpg|gif|bmp|bnp|png))"?.+>/i',$str,$match);
echo $match[1]; (PS:T不错的php Q扣峮:276167802,验证:csl)
/*PHP正则替换图片img标记中的任意属性*/
//1、将src="/uploads/images/20100516000.jpg"替换为src="/uploads/uc/images/20100516000.jpg")
print preg_replace('/(img.+src="?.+)(images/)(.+.(jpg|gif|bmp|bnp|png)"?.+>)/i',"\${1}uc/images/\${3}",$str);
echo "hr/>";
//2、将src="/uploads/images/20100516000.jpg"替换为src="/uploads/uc/images/20100516000.jpg",并省去宽和高
print preg_replace('/(img).+(src="?.+)images/(.+.(jpg|gif|bmp|bnp|png)"?).+>/i',"\${1} \${2}uc/images/\${3}>",$str);
?>
PS:关于正则,本站还提供了2款非常简便实用的正则表达式在线工具供大家参考使用:
JavaScript正则表达式在线测试工具:http://tools.jb51.net/regex/javascript
正则表达式在线生成工具:http://tools.jb51.net/regex/create_reg
您可能感兴趣的文章:- 正则表达式匹配任意字符(包括换行符)的写法
- 正则表达式匹配不包含某些字符串的技巧
- 匹配yyyy-mm-dd日期格式的的正则表达式
- 匹配中文汉字的正则表达式介绍
- 正则表达式 匹配至少有一个非空白字符并且不超过指定长度
- js 正则表达式学习笔记之匹配字符串
- 正则表达式匹配 非XXX的行
- PHP匹配多行的正则表达式分析
- js正则表达式匹配数字字母下划线等
- php用正则表达式匹配URL的简单方法
- 匹配任意字符的正则表达式写法
- 正则表达式实现最小匹配功能的方法