textarea中的HTML解码

我在使用我构建的网站管理工具时遇到问题,它允许我为我的网站编辑文章。 我正在使用google-code-prettify,因为我的文章是关于C ++编程的,然后我使用

 

标签来指定我即将开始编写C ++代码。 问题是,当我写的时候,

 #include  

然后将其插入我的mySQL数据库,它将正确添加插入文本与,但当我请求信息并在文章查看页面中显示它。 它将打破页面,因为HTML认为我正在尝试添加HTML标记。 所以当使用< > < > 标签它会正确地将这些添加到我的数据库,文章查看器页面将正确读取

 #include  

但如果我想要编辑文章,它将会读取<> 如。 哪个在另一个插页上会让我回到将插入数据库并让它们不在我的查看器中的原始问题。 如何阻止HTML更改<> 进入,但只有在我的textarea中的


内。 我已经让它工作,它将使用jquery转换文本区域中的所有内容。

 $("#contbox").each( function () { $(this).text($(this).html()).html(); } ); 

其中#contbox是我的textarea的id,但是我无法弄清楚如何将它限制在pre标签内,

提前致谢

最佳做法是将文件存储为未编码的字符串,并仅在需要显示时进行编码。 最大的原因是可能在需要不同编码的多个地方显示/使用相同的数据(或根本不显示)。 如果您的网站允许用户输入HTML格式的文本,您应该将其完全按照输入的方式存储在数据库中,并在需要时将其显示给最终用户调用适当的编码。

您需要在服务器端调用适当的编码。 这样可以防止在您的javascript运行和编码数据之前执行恶意代码,这也意味着如果用户禁用了javascript,您的用户仍会看到有效的文本。