【发布时间】:2013-07-13 22:49:35
【问题描述】:
我有一些 HTML 如下:
<b>This is a title: </b> 0091 + Two + 423 + Four + (Five, Six, Seven)
<b>Some more text: </b> Abc + Hi + Random + Text + (Hello, 522, Four)
...
<b>Hello world!: </b> Test + Foo + 1122 + (120, 122, Four)
现在,使用php,我想将其拆分并制作两个数组,如下所示:
数组 1 -(这将包含 <b> 标记中的所有内容)
[0] -> <b>This is a title: </b>
[1] -> <b>Some more text: </b>
...
[n] -> <b>Hello world!: </b>
数组 2 -(这将包含所有 <b> 标签)
[0] -> 0091 + Two + 423 + Four + (Five, Six, Seven)
[1] -> Abc + Hi + Random + Text + (Hello, 522, Four)
...
[n] -> Test + Foo + 1122 + (120, 122, Four)
我尝试使用正则表达式和preg_match_all,但我似乎无法弄清楚它们。任何帮助将不胜感激。
谢谢!
【问题讨论】:
-
不要使用正则表达式解析 HTML。您无法使用正则表达式可靠地解析 HTML,并且您将面临悲伤和挫败感。一旦 HTML 与您的期望发生变化,您的代码就会被破坏。有关如何使用已经编写、测试和调试的 PHP 模块正确解析 HTML 的示例,请参阅 htmlparsing.com/php。
-
嗨,安迪!我已经在使用
simple_html_dom库(在您发布的链接中提到)。特别是我在处理这个字符串时遇到了困难,我决定走正则表达式路线。只针对这种情况。否则,我将使用 HTML 解析器库来处理其余部分。感谢您的输入:)
标签: php html regex preg-match preg-match-all