【问题标题】:Xpath How to get text content from childs except some tagsXpath如何从孩子那里获取文本内容,除了一些标签
【发布时间】:2014-09-18 08:23:13
【问题描述】:

我想通过 Xpath 从此 html 代码中获取文本 1 和文本 2。

<div id="detailInfo" class="">
<h3 class=""><img src="/program/image/abc.gif" alt="ddd" width="92" height="23"></h3>

<p class=""><a href="http://link.html" target="_blank"><img alt="qvc_b.jpg" src="/image.jpg" width="300" height="50"></a></p>

<p class="">text 1<br>
text 2</p>

<p class=""><a href="http://link2.html">>text 3</a></p>

<p class=""> <span style="color:#00a7ac; font-size:12px"><br>
------------------------------------------------------------------<br>
text 4<br>
text 5
------------------------------------------------------------------</span>
<span><br>
------------------------------------------------------------------<br>
text 6
------------------------------------------------------------------</span></p>
<!-- /detailInfo -->
</div>

条件是直接从div的p个子节点获取所有文本内容,不从“a”和“span”标签获取文本

【问题讨论】:

    标签: php html xpath domdocument


    【解决方案1】:

    在这种情况下,您可以将text()normalize-space 一起使用,这样它就不会出现空格:

    $dom = new DOMDocument();
    $dom->loadHTML($html_string);
    $xpath = new DOMXpath($dom);
    
    $elements = $xpath->query("//div/p/text()[normalize-space()]");
    foreach($elements as $e) {
        echo $e->nodeValue . '<br/>';
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-18
      • 1970-01-01
      • 1970-01-01
      • 2018-08-27
      • 1970-01-01
      • 2019-09-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多