利用正则将xml数据解析为数组

function xml_to_array( $xml )
{
    $reg = '/<(\w+)[^>]*>([\x00-\xFF]*)<\/\1>/';
    if(preg_match_all($reg, $xml, $matches))
    {
        $count = count($matches[0]);
        for($i = 0; $i < $count; $i++)
        {
            $subxml= $matches[2][$i];
            $key = $matches[1][$i];
            if(preg_match( $reg, $subxml ))
            {
                $arr[$key] = xml_to_array( $subxml );
            }else{
                $arr[$key] = $subxml;
            }
        }
    }
    return $arr;
}

 

posted on 2013-12-04 14:42  cofday  阅读(192)  评论(0编辑  收藏  举报

导航