【问题标题】:php script outputs raw HTML but only after editingphp脚本输出原始HTML,但仅在编辑后
【发布时间】:2014-12-11 07:07:21
【问题描述】:

我正在编写一个不是我自己的 php 论坛脚本。

论坛的索引页面显示主题的标题和描述。

我将主题描述设置为等于主题的主体(实际的帖子文本),因此当主题发布时,主体会插入到描述字段中并按预期显示,换句话说,html 在描述中呈现区域。然后我点击允许编辑标题和描述的主题的编辑按钮。 描述的常规 HTML 存在,我单击保存。 html 作为常规 HTML 插入到数据库中。索引页面现在显示原始 html,而不是像以前那样呈现它。

我无法弄清楚为什么它会在第一次呈现但在它通过编辑代码之后却不会呈现,即使没有任何更改并且 html 没有被替换或剥离。

我需要一些帮助和线索来寻找和研究什么。我已经介绍了 htmlspecialchar、strip 标签和一些 preg 替换,但我没有得到任何地方。即使我只是在正确的方向上找到线索。

非常感谢。

【问题讨论】:

  • 如果看不到代码,我们无法弄清楚为什么它不起作用
  • 很可能,“编辑”表单中的文本字段的值在某个时候被转义。提交表单后,您必须跟踪它会发生什么。如果您在显示原始 html 的页面上“查看源代码”,您可能会看到 lt; 而不是文本中的
  • 我无法发布代码。我希望对这种事情在理论上或原则上如何发生有一些想法,然后我会沿着这些思路进行研究。
  • 谢谢 danyamachine。这足以让我开始研究如何将 html 转换回常规字符,这让我找到了有效的函数 htmlspecialchars_decode!谢谢。

标签: php html regex render strip-tags


【解决方案1】:

答案是我需要将函数 htmlspecialchars_decode 添加到相关字符串中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-19
    • 2021-09-20
    • 2019-09-05
    • 1970-01-01
    • 2015-07-15
    • 2016-06-30
    • 2012-04-06
    • 1970-01-01
    相关资源
    最近更新 更多