php - 使用 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>
解决方案
你不能。至少,不是单独使用 PHP。PHP DOM 扩展不包含 Javascript 解释器;它只会报告 HTML 文件的文字内容。
可以将文档加载到无头浏览器中,例如 PhantomJS。但这将是更多的工作,而且如果不使用 PHP 标准库之外的大量软件是不可能的。
推荐阅读
- php - 如何修复 Laravel 中找不到的类
- c# - 如何在 NLog 的嵌套 JsonLayout 中禁用转义正斜杠符号
- android - HereMaps SDK,类“MapMarker”对象未在android中列出InfoBubble函数
- android - 如何制作机密的图书馆模块
- java - 使用 RestTemplate 时出错 - 使用 Apache Commons Multimap 反序列化对象的问题
- pandas - 从多级熊猫数据框中删除前两级具有重复索引的行列表
- mysql - 在问卷模型中从其他表中查询数据
- database-migration - 使用 Liquibase 从一个版本到另一个版本的数据库迁移
- c# - 找出两个 DateTime 对象之间差异的最佳方法?
- labview - 与 Xtralien 恒电位仪的串行通信不起作用?