码迷,mamicode.com
首页 > Web开发 > 详细

php xml 转array 函数 (原创)

时间:2015-06-12 11:21:12      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:

 

 

    /**                                                                                                                                                           
     *Author zhudongchang                                                                                                                                         
     *Date 2015/6/12                                                                                                                                              
     *xml 转array 函数                                                                                                                                 
     *@param string $xmlStr xml字符串                                                                                                                   
     *@return string 
     */
   function convertXmlToArray($xmlStr){
        $patten=<<<EOT
/(^\s*<(\s*[a-zA-Z0-9_=‘":]+\s*)+>.*<\s*\/(\s*[a-zA-Z0-9_=‘":]+\s*)+>\s*$)|(^\s*<(\s*[a-zA-Z0-9_=‘":]+\s*)+\/\s*>$)/s
EOT;
        $pattenChildXml=<<<EOT
/^\s*<(\s*[a-zA-Z0-9_=‘":]+\s*)+>(.*)<\s*\/(\s*[a-zA-Z0-9_=‘":]+\s*)+>\s*$/s
EOT;
        $res=array();
        $xml = simplexml_load_string($xmlStr);
        foreach($xml->children() as $val){
            $key=$val->getName();            
            $valXml=$val->asXML();        
            preg_match($pattenChildXml,$valXml,$match);
            $childXmlStr=$match[2];        
            $temp=preg_match($patten,$childXmlStr)?convertXmlToArray($valXml):(string)$val;
            if(array_key_exists($key,$res)){
                is_array($res[$key]) or $res[$key]=array($res[$key]);
                $res[$key]=array_merge($res[$key],$temp);
            }else{
                $res[$key]=$temp;
            }
        }
        return $res;
    }

 

php xml 转array 函数 (原创)

标签:

原文地址:http://www.cnblogs.com/zhudongchang/p/4571054.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!