寻找与 PHP 等效的 getElementById 和 innerHTML

Posted

技术标签:

【中文标题】寻找与 PHP 等效的 getElementById 和 innerHTML【英文标题】:Looking for the PHP-equivalent of getElementById and innerHTML 【发布时间】:2011-09-24 09:06:38 【问题描述】:

我正在寻找 javascript 函数 getElementById() 和 innerhtmlphp 等效项。基本上,如何编辑文档中某些 ID 的内容?谢谢。

【问题讨论】:

您只能在将内容发送到客户端之前使用 PHP 对其进行编辑。不确定您要在这里实现什么目标? 如果您使用 php 构建 DOM,您可以这样做。执行谷歌搜索“dom php getelementbyid” 如果您使用的是 DOMDocument php.net/manual/en/domdocument.getelementbyid.php 如果 OP 可以阐明他为什么要这样做,我们可以给出一个有用的答案:-) 【参考方案1】:

getElementById() 可用via DomDocument。

innerHTML() 不是,但可以模拟它:

$innerHTML = '';
foreach($node->childNodes as $child) 
  $innerHTML .= $node->ownerDocument->saveXML($child);

如果你的 PHP 版本支持,你可以使用saveHTML 而不是saveXML

【讨论】:

你确定你不是在助长 OP 对这些函数在 PHP 中实际做什么的误解吗? @Jon:如果你想表达这个问题可以从澄清中受益,我支持你。但即使是这样,如果这不能在 PHP 中完成,仍然需要澄清,例如通过输出缓冲区。【参考方案2】:

你不能。 PHP 是服务器端,文档渲染后无法操作。

【讨论】:

除非你使用 PHP 来生成 JavaScript。 :) OP 没有提到他想要它之后 这是有效的。根据与 Jscript 的比较,我做了一个很大的假设。如果他说他想解析 HTML 文件,我会改变我的答案。 我真的不明白你的意思,但我想做的是在不离开网站的情况下动态地改变一个网站。

以上是关于寻找与 PHP 等效的 getElementById 和 innerHTML的主要内容,如果未能解决你的问题,请参考以下文章

PHP:是不是有 isLetter() 函数或等效函数?

在 cURL 库中寻找等效的语法

PHP 等效于 .NET/Java 的 toString()

是否有与 Perl 的 WWW::Mechanize 等效的 PHP?

与内置 UIView 动画等效的核心动画

VirtualProtectEx 的 Linux 等效项?