代码之家  ›  专栏  ›  技术社区  ›  Jay Bienvenu

phpxpath:匹配HTML片段中的根节点

  •  0
  • Jay Bienvenu  · 技术社区  · 7 年前
    $document = new \DOMDocument();
    \libxml_use_internal_errors(true);
    $document->loadHTML('<a/>');
    $xpath = new \DOMXPath($document);
    echo $xpath->query('/a')->length."\n";
    echo $xpath->query('a')->length."\n";
    

    //a )会产生预期的结果吗?

    3 回复  |  直到 7 年前
        1
  •  1
  •   Rinsad Ahmed    7 年前

    ... 它将定义相对于根节点“a”的绝对路径。因此,在本例中,它将只在XML树的根目录下找到“a”节点。

    在路径开头使用//时:

    //a

        2
  •  1
  •   Damien    7 年前

    在标准HTML文档中,根节点是 <html> <head> , <body> <a> 在一个 <div> <车身>

    /html/body/div/a
    

    这将给你一个单一的结果,你正在寻找什么。但是,这是一个基本的HTML页面,可能过于简单。

    跳过 使用 // (双斜杠)。

    /html//a -> any <a> tag in the <html>
    //div/a -> any <a> tag that is directly in a <div> that exists anywhere
    //a -> any <a> tag anywhere that exists anywhere
    

    所以通过寻找 /a ,您正在搜索 <a> 在HTML文档的开头添加标记,这实际上从来都不是这样-因此,没有结果。

        3
  •  0
  •   Jay Bienvenu    7 年前

    $document->loadHTML() $document->loadXML() .