我有一個XML文檔,從中我想提取一些數據:PHP正則表達式匹配XML模式多次內側的圖案
<tnt:results>
<tnt:result>
<Document id="id1">
<impact _blabla_ for="tree.def" name="Something has changed"
select="moreblabla">true</impact>
<impact _blabla_ for="plant.def" name="Something else has changed"
select="moreblabla">true</impact>
</Document>
</tnt:result>
</tnt:results>
在現實中不存在新的生產線 - 這是一個連續的字符串,有可以是多個<文檔>元素。我想有一個正則表達式提取:
- ID1
- tree.def中/ plant.def
- 東西已經改變/別的東西已經改變
我上不來與此代碼,到目前爲止,但它只匹配的第一個影響,而不是他們兩個:
preg_match_all('/<Document id="(.*)">(<impact.*for="(.*)".*name="(.*)".*<\/impact>)*<\/Document>/U', $response, $matches);
的另一種方式做它將匹配Document元素中的所有內容並再次通過RegEx傳遞它,但我認爲我只能通過一個RegEx來完成此操作。
非常感謝!
http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags每個人都得到它一旦;我當然有。 – Dan 2011-06-11 02:56:06
謝謝,有一個很好的笑:) – cdavid 2011-06-11 03:00:04