/*
*获取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[]=$m;}
}
}
return $arr;//array
}
以上多个不区分,以下多个区分开了使用方法
$data=get_html_attr_by_tag($body,'src,title,href','img,a');
/*
*获取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][$a][]=$m;}
}
}
return $arr;//array
}