PHP 正則表達式匹配 img ,PHP 正則提取或替換圖片 img 標記中的任意屬性。


PHP正則提取或替換img標記屬性

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?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];
 
/*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 );
 
 
 
?>
 1 /*
 2 *獲取html指定標簽的相關屬性
 3 *@param string $content 要解析HTML內容
 4 *@param string $attr 指定要獲取的標簽屬性
 5 *@param string $tag  指定解析標簽
 6 *@return  array 
 7 */
 8 
 9 function get_html_attr_by_tag($content="",$attr="src",$tag="img"){
10     
11     $arr=array();
12     
13     $cache_arr=array();
14     
15     $attr=explode(',',$attr);
16     
17     $tag=explode(',',$tag);
18     
19     foreach($tag as $i=>$t){
20         
21         foreach($attr as $a){
22             
23             preg_match_all("/<\s*".$t."\s+[^>]*?".$a."\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i",$content,$match);
24             
25             foreach($match[2] as $n=>$m){
26                 
27                 $arr[$t][$n][$a]=$m;
28             
29             }
30             
31         }
32         
33     }
34     
35     return $arr;//array
36     
37 }

 

 

/**獲取html指定標簽的相關屬性*@param string $content 要解析HTML內容*@param string $attr 指定要獲取的標簽屬性*@param string $tag  指定解析標簽*@return  array */
function get_html_attr_by_tag($content="",$attr="src",$tag="img"){$arr=array();$cache_arr=array();$attr=explode(',',$attr);$tag=explode(',',$tag);foreach($tag as $i=>$t){foreach($attr as $a){    preg_match_all("/<\s*".$t."\s+[^>]*?".$a."\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i",$content,$match);foreach($match[2] as $n=>$m){$arr[$t][$n][$a]=$m;    }}}return $arr;//array}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM