Php 将包含XML标记的文本文件解析为数组

Php 将包含XML标记的文本文件解析为数组,php,arrays,regex,parsing,Php,Arrays,Regex,Parsing,我需要解析包含如下html标记的文本文件: <item> <value4="L5u9eDNV40_val4"> <value6="xcE90l2HyN_val6"> <value3="hJyVXoE4YQ_val3"> <value5="K68yGpDsTR_val5"> <value2="umrVvR8Tfe_val2"> <value1="y6Ms2E5BHe_val1"> </item&g

我需要解析包含如下html标记的文本文件:

<item>
 <value4="L5u9eDNV40_val4">
 <value6="xcE90l2HyN_val6">
 <value3="hJyVXoE4YQ_val3">
 <value5="K68yGpDsTR_val5">
 <value2="umrVvR8Tfe_val2">
 <value1="y6Ms2E5BHe_val1">
</item>

<item>
 <value4="T4PFOipm3u_val4">
 <value2="upLkW2r8nq_val2">
 <value3="3h7lV6CaHP_val3">
 <value5="4pETv3bt5c_val5">
 <value1="iEPZCnzxjs_val1">
 <value6="fWjg1Ueo5M_val6">
</item>

我已经用SimpleHTMLDOM尝试过了,但是我做不到任何有效的事情。

不清楚您想要什么样的最终数据结构,但是这段代码将创建一个数组数组,
$v_arr
,其中每个子数组都包含一个
的值:

<(value\d+)="([^"]*)"

谢谢,这对我很有帮助,但我不明白如何在数组键表示法中添加“value1”、“value2”?像这样['value2']=>'T4PFOipm3u_val4'@Nevada使用它。抓取匹配项。匹配项1将是字典的关键,匹配项2将是它的vlaue
@Nevada您需要使用类似Match.groups(1)和Match.groups(2)的东西。您应该使用类似SimpleXML或DOM的XML(不是HTML)解析器,但这甚至不是有效的XML。你是否遗漏了一些来源?
<(value\d+)="([^"]*)"
$v_arr = array();
# split the string up into an array with one <item> per array element
$items = explode("<item>", $text);
foreach ($items as $i) {
    # only parse entries that have <value... tags
    if (strpos($i, '<value') !== false) {
        # parse the value tags, save the matches in $matches
        if (preg_match_all('#<(value\d)="(.+?)">#', $i, $matches)) {
            # create a new array with valueX as keys, the other string as values.
            # push this array on to a results array
            $v_arr[] = array_combine( $matches[1], $matches[2] );
        }
    }
}
print_r($v_arr);
Array
(
    [0] => Array
        (
            [value4] => L5u9eDNV40_val4
            [value6] => xcE90l2HyN_val6
            [value3] => hJyVXoE4YQ_val3
            [value5] => K68yGpDsTR_val5
            [value2] => umrVvR8Tfe_val2
            [value1] => y6Ms2E5BHe_val1
        )

    [1] => Array
        (
            [value4] => T4PFOipm3u_val4
            [value2] => upLkW2r8nq_val2
            [value3] => 3h7lV6CaHP_val3
            [value5] => 4pETv3bt5c_val5
            [value1] => iEPZCnzxjs_val1
            [value6] => fWjg1Ueo5M_val6
        )

)