【问题标题】:I am parsing the html and I dont want include header img tags of header element我正在解析 html,我不想包含 header 元素的 header img 标签
【发布时间】:2020-01-13 06:24:55
【问题描述】:

以下是用 PHP 函数编写的代码。现在我正在获取整个 HTML 的所有 img src。我只想拥有整个html的img标签,除了标题中存在的标签。

$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$data = curl_exec($ch);
$doc = new DOMDocument();
@$doc->loadHTML($data);
$finder = new DomXPath($doc);
$nodes_images = $finder->query("//img/@src");

【问题讨论】:

    标签: html parsing xpath html-parsing xquery


    【解决方案1】:

    如果您指的是 HTML5 header 元素,那么使用 //img[not(ancestor::header)]/@src 应该选择所有 img 元素的所有 src 属性,这些元素不是 header 元素的后代。但是,我不知道 PHP 的 loadHTML 使用的基于 libxml2 的 HTML 解析对解析 HTML5 的支持程度如何。

    【讨论】:

    • 我想获取 html 的所有 img 标签的 src,除了
      元素中存在的标签。标题包括菜单、徽标和社交媒体图标。
    猜你喜欢
    • 2011-08-31
    • 2016-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-25
    • 2016-01-03
    相关资源
    最近更新 更多