Php 如何使用所见即所得生成的代码?

Php 如何使用所见即所得生成的代码?,php,security,wysiwyg,html-entities,Php,Security,Wysiwyg,Html Entities,我想使用与我的网站相同的编辑器,用户还应该能够键入存储在数据库中的代码。但有件事我不明白: 我如何区分标记(p,strong,li)-标记和应该显示为代码而不由浏览器解释的代码 当我将提交的数据存储在数据库中时,我将调用htmlentities函数,这将影响每个标记:wmd编辑器生成的标记,以及用户发布的html代码(或其他语言) 有关于这个的信息吗?我真的不知道该怎么做。在数据库中存储htmlentities函数时,为什么要调用它 这就是你降价的原因。我是说加价。实际上,两者都是。StackO

我想使用与我的网站相同的编辑器,用户还应该能够键入存储在数据库中的代码。但有件事我不明白:

我如何区分标记(p,strong,li)-标记和应该显示为代码而不由浏览器解释的代码

当我将提交的数据存储在数据库中时,我将调用htmlentities函数,这将影响每个标记:wmd编辑器生成的标记,以及用户发布的html代码(或其他语言)


有关于这个的信息吗?我真的不知道该怎么做。

在数据库中存储htmlentities函数时,为什么要调用它


这就是你降价的原因。我是说加价。实际上,两者都是。

StackOverflow使用backtic字符或
标记将应该解释为代码的代码解释为代码。(背景勾号是普通键盘(英国布局)上的
esc
下的键)。不过,除此之外,我没有任何想法,因此,这是一个评论而不是答案;-)一旦我将代码从数据库中取出,我应该如何处理它?记住安全性等?在使用标记处理后,如果要显示的是HTML源代码,则应对其进行清理,仅保留您希望允许使用的HTML标记,或在将其显示为HTML之前对HTML实体进行编码。html编码进入数据库的任何内容都没有意义。它唯一有用的时候是当你以HTML的形式显示数据的时候。我明白了,我当时的想法完全错了。关于如何区分我想要的标记和代码与其他标记的任何信息?真的知道这个…,关于这个话题有很多资源。通常,当您将数据放入数据库时,您必须首先考虑SQL注入(如果它是SQL数据库),您还可能在存储之前清理标记和/或标记,但是,您始终需要做的是对要包含在网页中的所有内容进行清理或html编码,以避免跨站点脚本编写和类似的漏洞。