如何使硬编码的 HTML 条目保存为在 CMS 的 UI 中输入的条目


How to make hard-coded HTML entries saved as if entered in the UI of a CMS?

我怀疑我是否使用正确的词汇(或标签)来解释我正在寻找的内容,但请耐心等待:

最终,我的页面的一部分将有一个部分,登录用户可以在其中输入/更改列表项和表数据(<td>)之类的内容。假设这是<li>之一:

<!--template-->
<li><a title=""href=""><span></span></a></li>

到目前为止,我的理解是,如果这些条目是由某处的UI生成的(类似于Wordpress),那么这些条目需要(?)在成为生成的页面之前写入数据库。我意识到的另一件事是,这些CMS的用户不会自动"获取"生成的页面的副本作为源代码。

想知道的是,我是否可以在记事本中对生成的记录/列表进行HTML更改(我可能会弄乱页面的其他部分),并以某种方式让站点检测/记录任何更改,就好像它们是通过UI输入的一样?

  • 让 PHP 代码创建生成页面的文件
  • 扫描该页面以查找某些模式/模板
  • 将模板中找到的值添加到数据库中,重复

什么语言/方法可以扫描文本并根据其发现(如我描述的方式)创建数据库条目?我刚刚发现了sscanf(),但还不知道如何使用它。我意识到不仅使用 CMS 是愚蠢的,而且它的自我引用和文本扫描质量也让我感兴趣。

在我看来,您可以使用php脚本处理程序实现jQuery"就地编辑"插件。我正是这样做的,他们的插件完成了所有繁重的工作,您所要做的就是向原始 HTML 提供有关表结构的各种线索。

看到这个 SO 问/答...我用它来生成显示订单的页面。通过就地编辑,我使订单(点击编辑)成为可能。在代码中,将所有内容放在 foreach 循环中,然后 jQuery 通过 <tr id="<? echo $database_ID ?>"> 等属性将元素链接到数据库,以将行绑定到记录,每个<td>可能将数据库的列名作为 ID 或类名。

让我先

说一下,这几乎肯定是一个坏主意,只与PHP无关,并且至少会产生与它解决的问题一样多的问题。特别是,安全漏洞很可怕。但最近我在政府网站上看到一个HTML表单,它重振了我对"横向思维"的幽默感,所以叫我潘多拉吧。

从理论上讲,你可以用一些Javascript和一个跨域

帖子来实现这样的东西。简而言之,您将:
  1. 创建一个 HTML 模板,其中包含您需要的所有表格、列表和其他结构,以及一个包含隐藏输入和提交按钮的

    。当用户最初请求特定记录时,服务器应用程序将使用数据填充此模板。
  2. 为模板创建一个脚本,用于解析表和列表的值(例如,使用 DOM 方法),将它们序列化(例如,序列化为 JSON 字符串),并将表单的隐藏输入的值设置为序列化数据。

  3. 将表单的 action 属性设置为旨在反序列化表单数据并将其保存到数据库的 PHP 脚本。此外,在提交按钮上分配一个事件处理程序,该处理程序在发布表单之前执行序列化程序脚本。

现在,这里的诀窍在于用户序列。用户请求一些记录,服务器在填充的模板中返回这些记录。通常,用户将使用模板提供的任何 CMS 样式字段,但过期的忍者会保存页面的 HTML 源代码,对指定的表和列表进行更改,在浏览器中打开修改后的 HTML 文件,然后单击提交。脚本序列化数据,客户端将表单发布到服务器,服务器反序列化并保存数据。