[英]save html-formatted text to database
我想将 html 格式的文本保存到数据库中,但是当我这样做时,它不保存 html 符号,如 </ > ' 和其他这是我从数据库中读取文章进行编辑的方式:
<p class="Title">Англійський варіант:</p>
<textarea name="EN" cols="90" rows="20" value="<?php echo htmlentities($articleArr['EN'], ENT_QUOTES, "UTF-8"); ?>" ></textarea>
在生成这样的 html 代码之后:
<p class="Title">Англійський варіант:</p>
<textarea name="EN" cols="90" rows="20" value="<p class='Title'> привыт </p>" ></textarea>
所以,我希望这个文本会出现在我的文本字段中,在这个页面的 html 代码中是,但在文本区域中不是。
在数据库中,我将其另存为:
<p class="Title"> Hello </p>
那么我该如何执行以下操作:
请帮帮我,我怎样才能正确保存这些文本,谢谢!
尝试在字符串上使用htmlspecialchars()
放入数据库,然后在将其拉出时使用htmlspecialchars_decode()
。 可能会有所作为。
将其保存到 nvarchar(max) 字段。
确保使用参数化查询来确保安全。 阅读
http://www.aspnet101.com/2007/03/parameterized-queries-in-asp-net/
http://msdn.microsoft.com/msdnmag/issues/04/09/SQLInjection/
对 Sql 稍加改动,您就可以申请到 Mysql aslo
将您的 html 代码保存在数据库中没有问题。 并且在保存之前不需要过滤数据。 但是当你想在textarea
再次显示它时,你应该Escape
它。
在 php 中,您可以使用此代码来转义 html 代码:
PHP函数
请参阅文档: htmlspecialchars
$cotnent = htmlspecialchars( $cotnent );
WordPress 功能:
见文档: format_to_edit
$cotnent = format_to_edit( $cotnent , false );
或
参见文档: esc_textarea
$cotnent = esc_textarea( $cotnent );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.