首页 > 解决方案 > 使用 PHP 获取加载的操纵 HTML dom

问题描述

我试图用 PHP 加载并使用 Javascript 操作的 HTML dom。但它只返回文档内容。

对我来说,似乎没有解决方案:(

例子:

index.php
$dom = new DOMDocument();
$dom->load('test.html');
$html = $dom->getElementsByTagName("html")->item(0);
echo $html->nodeValue;

结果:

title
var test = document.createElement("div");
test.innerHTML = "test";
document.body.appendChild(test);

我尽一切努力得到这个结果:

<head>
<title>title</title>
</head>
<body>
<div>test</div>
</body>

标签: phpdom

解决方案


你不能。至少,不是单独使用 PHP。PHP DOM 扩展不包含 Javascript 解释器;它只会报告 HTML 文件的文字内容。

可以将文档加载到无头浏览器中,例如 PhantomJS。但这将是更多的工作,而且如果不使用 PHP 标准库之外的大量软件是不可能的。


推荐阅读