【问题标题】:Dynamically adding content to HTML document using PHP使用 PHP 向 HTML 文档动态添加内容
【发布时间】:2014-02-26 04:39:21
【问题描述】:

我正在尝试在包含嵌套 PHP 代码的 HTML 文档中创建一些动态内容,如下所示:

$html=$DOCUMENT_ROOT. "test.php";
$page=new DOMDocument();
$page->loadHTMLFile($html);
...get existing elements by ID
...create new elements
...append new elements to existing elements
$page->saveHTMLFile($html);

代码引发了一大堆这样的警告:

DOMDocument::loadHTMLFile(): htmlParseEntityRef: test.php 中没有名称

此外,似乎 PHP 标记

在源文件中被替换为:

此后嵌套的 PHP 命令不会被执行,而只会显示在输出中。

我假设 PHP 加载/保存 HTML 文件功能不适用于 PHP 文件,那么我们如何加载和保存 PHP 文件呢?

感谢您的帮助。

索菲亚

【问题讨论】:

  • 你能提供更多关于你在说什么的背景吗?您是说要加载 HTML 页面并向其中添加内容吗?这些内容是否在您的网站上,为什么您不直接在模板中添加 HTML?
  • @wallerjake:嗨。要回答你的问题,是的。具体来说,我正在尝试根据从数据库中检索到的数据填充带有多个复选框的表单。而且这些数据不断变化。
  • 为什么不直接在 PHP 模板中添加这些数据?您是否希望它自动刷新或其他什么?我会直接在 test.php 中添加内容
  • @wallerjake:由于它不会是永久状态,因此原始 HTML 内容将保持不变,并且将根据数据库中的数据动态添加复选框。目标不是在每次查看页面时都保存新版本的页面,而是仅使用 saveHTML 而不是 saveHTMLFile 显示当前版本。
  • 我认为下面的答案会起作用,对吧?

标签: php html


【解决方案1】:

看来,您应该 include("test.php") 并将 test.php 中的复选框动态添加到表单中,如下所示:

<?php foreach($options as $option): ?>
    <?php echo $option['label']?>: <input type="checkbox" name="<?php echo $option['name']?>" /><br />
<?php endforeach; ?>

【讨论】:

  • 感谢您的帮助。我仍然无法成功实现它,所以我正在通过 JavaScript 使用解决方法。
猜你喜欢
  • 2021-12-29
  • 1970-01-01
  • 2013-06-02
  • 2013-01-14
  • 2017-12-07
  • 1970-01-01
  • 1970-01-01
  • 2018-07-28
  • 1970-01-01
相关资源
最近更新 更多