我有数以千计的格式错误的html文档,我必须使用php修复格式错误。到目前为止,我对simplexml和xpath做得很好。现在我偶然发现了这个:
<ul>
Lorem ipsum <strong>dolor sit amet,</strong> consectetur
adipiscing elit, <em>sed</em> do eiusmod tempor
<li>incididunt</li>
<li>ut</li>
<li>labo</li>
</ul>
现在Text Lorem ... tempor 属于<ul>
之外,而其他一切( incididunt ... labo )应该仍然是列表项。
所以我的想法是选择<ul>
的{{1}}子节点,包括文本节点。但我可以用xpath做到这一点吗?
答案 0 :(得分:1)
你可以联合两个xpathes。第一个发现所有不是li节点,第二个 - 文本节点在ul
下//ul/*[name() != "li"] | //ul/text()