Php 如何将HTML标记存储到数据库中?

Php 如何将HTML标记存储到数据库中?,php,html,mysql,css,Php,Html,Mysql,Css,我有一个名为comment的输入。用户将其评论写入其中,并在帖子下发送。类似StackOverflow的评论: 如您所见,有一个 当我再次获取它时,它会破坏我网站的HTML: 我的意思是,之后的所有内容都将是一个链接。我不想那样。如何防止这种情况发生?如果您希望不存储标签,请使用;如果您仍然希望进行标记,请使用类似的方法 示例 $string = '<b>Hello,<> please remove the <> tags.</b>'; ec

我有一个名为comment的输入。用户将其评论写入其中,并在帖子下发送。类似StackOverflow的评论:

如您所见,有一个

当我再次获取它时,它会破坏我网站的HTML:


我的意思是,
之后的所有内容都将是一个链接。我不想那样。如何防止这种情况发生?

如果您希望不存储标签,请使用;如果您仍然希望进行标记,请使用类似的方法

示例

$string = '<b>Hello,<> please remove the <> tags.</b>';

echo strip_tags($string);
更新

$string = '<b>Hello,<> please remove the <> tags.</b>';

echo strip_tags($string);
你真正想要的是


输出

Hello, please remove the tags.
Hello <a href="">blah</a>.
你好。
如果您希望不存储标签,则使用;如果您仍然希望标记,则使用类似的方法

示例

$string = '<b>Hello,<> please remove the <> tags.</b>';

echo strip_tags($string);
更新

$string = '<b>Hello,<> please remove the <> tags.</b>';

echo strip_tags($string);
你真正想要的是


输出

Hello, please remove the tags.
Hello <a href="">blah</a>.
你好。
你可以使用一些插件在wordpress上的功能,它们会更改[和]的

为了防止代码注入,我建议只替换以下标记

<p></p><ul></ul><li></li><a></a>    

这是通过客户端的Viía javascript完成的,并发送到服务器vía ajax:

$("yourtag").replace(/</g, "[").replace(/>/g, "]").replace(/"/g, "'").replace(/&nbsp;/g, "andnbsp");
$(“yourtag”)。替换(//g,”)。替换(//“/g,”)。替换(//g,“andnbsp”);

如果使用php从数据库检索数据,则需要在存储html的列上使用strreplace来更改[],这样代码就不会中断

请记住,只允许您想要的标记,因为允许各种标记打开安全门,这是服务器端语言donde。


希望这是有帮助的…

您可以使用一些插件在wordpress上所做的操作,它们更改了[and]的

为了防止代码注入,我建议只替换以下标记

<p></p><ul></ul><li></li><a></a>    

这是通过客户端的Viía javascript完成的,并发送到服务器vía ajax:

$("yourtag").replace(/</g, "[").replace(/>/g, "]").replace(/"/g, "'").replace(/&nbsp;/g, "andnbsp");
$(“yourtag”)。替换(//g,”)。替换(//“/g,”)。替换(//g,“andnbsp”);

如果使用php从数据库检索数据,则需要在存储html的列上使用strreplace来更改[],这样代码就不会中断

请记住,只允许您想要的标记,因为允许各种标记打开安全门,这是服务器端语言donde。



希望这有帮助…

您不应该将标记存储在数据库中。@Script47否。。我不想允许任何标记。如果您允许样式化注释,那么如何不将标记存储在数据库@duffymowell中呢?在这种情况下,
strip\u tags()
和各种正则表达式。请记住strip_tags()需要有效的标记“否..我不想允许任何标记”-有趣的是,这不是问题标题的内容。“我应该如何将HTML标记存储到数据库中?”您不应该将标记存储在数据库中。@Script47否。。我不想允许任何标记。如果您允许样式化注释,那么如何不将标记存储在数据库@duffymowell中呢?在这种情况下,
strip\u tags()
和各种正则表达式。请记住strip_tags()需要有效的标记“否..我不想允许任何标记”-有趣的是,这不是问题标题的内容。“我应该如何将HTML标记存储到数据库中?”upvote for efforce:-)由于OP有点让人困惑——只有一件事,为什么要使用
ENT_QUOTES
?检查我为函数提供的链接中的标志表。啊哈,我明白了。你能告诉我你链接的函数()和?upvote for efforce:-)之间有什么区别吗?OP不仅仅是有点让人困惑的一件事,你为什么要使用
entu QUOTES
?检查我为函数提供的链接中的标志表。啊哈,我明白了。您能告诉我您链接的函数()和?通过客户端进行清理不是最可靠的解决方案,另外,如果禁用了JavaScript怎么办?这就是为什么我在终端服务器端语言中强调应该只允许某些标记。通过客户端进行清理不是最可靠的解决方案,如果禁用了JavaScript怎么办?这就是为什么我在终端服务器端语言中强调应该只允许某些标记。