DOMXPath var_dump: "(省略对象值)"

Cod*_*uru 5 html php xpath data-extraction

$store = curl_exec($ch); // Returns a page of HTML

$doc = new DOMDocument();
$doc->loadHTML($store);
$xpath = new DOMXpath($doc);
Run Code Online (Sandbox Code Playgroud)

瓦尔转储$xpath

object(DOMXPath)#2 (1) { 
    ["document"] => string(22) "(object value omitted)" 
} 
Run Code Online (Sandbox Code Playgroud)

这里有什么问题吗?我正在尝试在 HTML 代码上使用 xpath 来提取信息。

object(DOMDocument)#1 (34) {
    ["doctype"]         => string(22) "(object value omitted)" 
    ["implementation"]  => string(22) "(object value omitted)" 
    ["documentElement"] => string(22) "(object value omitted)" 
    ["actualEncoding"]  => string(6) "gb2312" 
    ["encoding"]        => string(6) "gb2312"
    ["xmlEncoding"]     => string(6) "gb2312" 
    ["standalone"]      => bool(true) 
    ...
Run Code Online (Sandbox Code Playgroud)

Yog*_*har 3

loadHTMLFile需要 html 文件的路径而不是 html 文件loadhtmlfile的内容。所以你的代码将是

$doc = new DOMDocument();
$doc->loadHTMLFile("path to html file");
$xpath = new DOMXpath($doc);
Run Code Online (Sandbox Code Playgroud)

编辑

如果你想从 html 内容加载,请使用loadhtml

$doc = new DOMDocument();
$doc->loadHTML($store);
$xpath = new DOMXpath($doc);
Run Code Online (Sandbox Code Playgroud)

  • 如上有 ["textContent"]=> string(2304) ,这意味着其中的html。我如何正确获取结果?$elements = $xpath->query("//*[@id='detail']/div[1]/h3/text()"); (2认同)