使用XPath如何在标签内提取内容但保持html格式

时间:2019-04-15 17:40:56

标签: php html curl xpath web-scraping

我想提取div标记中具有类class的内容 但保留HTML格式标记

<div class="class">
  <strong>strong world</strong>
  <a href="#"><img src="/test.jpg"/></a>
  <u>under line world</u>
  <ul>
    <li>1</li>
    <li>2</li>
  </ul>
</div>

我正在寻找的输出是

  <strong>strong world</strong>
  <a href="#"><img src="/test.jpg"/></a>
  <u>under line world</u>
  <ul>
    <li>1</li>
    <li>2</li>
  </ul>

我的尝试只是按照以下方式输出纯文本

$html = '
    <div class="class">
      <strong>strong world</strong>
      <a href="#"><img src="/test.jpg"/></a>
      <u>under line world</u>
      <ul>
        <li>1</li>
        <li>2</li>
      </ul>
    </div>
';

$dom = new DomDocument();
@$dom->loadHTML($html);
$xpath = new DOMXpath($dom);
$masterNodes = $xpath->query('//div[@class="class"]');


foreach ($masterNodes as $masterNode) {
    print $masterNode->nodeValue . "\n";
}

结果

strong world under line world 1 2 

我进行了很多搜索,但是没有发现任何可能的答案或相关问题。

0 个答案:

没有答案