发新话题
打印

php 获取 xml 属性值

修正有属性值为空的判断

function xml_get_attr($source, $tag) {
   $attrArr = array();
   preg_match_all("/(?:<${tag})([^>]*)>/im" , $source , $mat);
   if(is_array($mat[1]) && count($mat[1])) {
  $key = 0;
  foreach($mat[1] as $k=>$tempV) {
    $attr = array();
    if(!empty($tempV)) {
   preg_match_all('/([a-zA_Z0-9]+?)\s*?(?:=)\s*?(?:[\'"]?)(.*?)(?:[\'"])/im' , $tempV, $attr);
   for($i = 0, $j = count($attr[1]); $i < $j; ++$i) {
    $attrArr[$key][$attr[1][$i]] = $attr[2][$i];
   }
   $key ++;
    }
  }
   }
   return $attrArr;
 }

TOP

发新话题