繁体   English   中英

将 html 格式的文本保存到数据库

[英]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="&lt;p class=&#039;Title&#039;&gt; привыт &lt;/p&gt;" ></textarea>

所以,我希望这个文本会出现在我的文本字段中,在这个页面的 html 代码中是,但在文本区域中不是。

在数据库中,我将其另存为:

<p class="Title"> Hello </p>

那么我该如何执行以下操作:

  1. 从数据库 html 格式的文本中读取。
  2. 在 textarea 元素中显示它。
  3. 编辑并将其保存回数据库。

请帮帮我,我怎样才能正确保存这些文本,谢谢!

尝试在字符串上使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM