这是我的HTML:
test 1
blah
subheading 1
blah
subheading 2
test 2
subheading 3
blah
test 3
我正在尝试构建一个h3标签数组,其中h4标签嵌套在其中.数组的示例如下所示:
Array
(
[test1] => Array
(
[0] => subheading 1
[1] => subheading 2
)
[test 2] => Array
(
[0] => subheading 3
)
[test 3] => Array
(
)
)
很高兴使用preg_match或DOMDocument,有什么想法吗?
解决方法:
使用DOMDocument:
>使用XPath“// h3”查找所有< h3>.这些将是数组中的第一级条目
>对于他们每个人:
>计算变量$i(从1开始计数!)作为循环的一部分
>使用XPath“./ followlowing::h4[count(preceding::h3)= $i]”找到任何子坐标< h4>
>这些将是你阵列中的第二级
XPath表达式是“select all< h4>,其具有相同的常数< h3>”.对于第一个< h3>那个数是1,自然,第二个数是2,依此类推.
确保在相应的< h3>的上下文中执行XPath表达式.节点.
标签:php,dom,html-parsing,domdocument
来源: https://codeday.me/bug/20190518/1129511.html