經(jīng)常和圖片打交道,不得不用到一些提取圖片中scr、alt、title、等的屬性,這里總結(jié)給大家一些常用的,感覺還不錯,比較通用!
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正則表達式匹配數(shù)字字母下劃線等
- php用正則表達式匹配URL的簡單方法
- 匹配任意字符的正則表達式寫法
- 正則表達式實現(xiàn)最小匹配功能的方法