3
我想知道一个很好的preg_match模式在php中提取标签之间的数据。php preg_match解析标签的模式
例如:
<page>
<username>someone</username>
<id>3020778</id>
<text xml:space="preserve"> The quick brown fox. </text>
</page>
这会给我的字符串 “敏捷的棕色狐狸”。
我一直在使用
preg_match('/<text(.*)?>(.*)?<\/text>/', $content, $match);
尝试,但它似乎在其他一些情况下无法正常工作。
有没有人有更好的解决方案或模式?
并使用simpleXML使它比preg_match更快?
通常来说,解析XML文档几乎总是比使用正则表达式更可靠。 – jerluc
'$ page = simplexml_load_string($ xml); echo $ page-> username,$ page-> id,$ page-> text;'另请参阅[一个简单的程序来CRUD节点的XML文件值](http://stackoverflow.com/questions/4906073/a-简单程序到crud-node-and-node-values-of-xml-file),[用于PHP的最佳XML解析器](http://stackoverflow.com/questions/188414/best-xml-parser-for -php/3616044#3616044)和[最佳方法解析HTML](http://stackoverflow.com/questions/3577641/best-methods-to-parse-html/3577662#3577662) – Gordon
这一个很好地总结: http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags – tdammers