2

我使用 XPATH 删除不整洁的 HTML 标签,

$nodeList = $xpath->query("//*[normalize-space(.)='' and not(self::br)]");
    foreach($nodeList as $node) 
    {
        $node->parentNode->removeChild($node);
    }

将删除像这些可怕的输入,

<p><em><br /></em></p>
<p><span style="text-decoration: underline;"><em><br /></em></span></p>

但它也消除了img tag我想保留的打击,

<p><img title="picture summit" src="images/32913430_127001_e.jpg" alt="picture summit" width="590" height="366" /></p>

如何img tag使用 XPATH 保留输入?

4

2 回答 2

1

使用

//p[not(descendant::*[self::img or self::br]) and normalize-space()='']
于 2011-10-22T17:48:21.087 回答
0

也许您可以使用如下所示的 XPath 1.0 表达式来删除不需要的段落:

//p[count(text())=0 and count(img)=0]
于 2011-10-22T17:08:30.573 回答