簡體   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