[英]HTML Decoding within textarea
我在構建自己的網站管理工具時遇到了麻煩,它可以讓我編輯網站的文章。 我正在使用google-code-prettify,因為我的文章是有關C ++編程的,然后使用<pre class="prettyprint"> </pre>
標記指定我將要開始編寫C ++代碼。 問題是我寫的時候說
#include <iostream>
然后將其插入到我的mySQL數據庫中,它將正確添加帶有<>的插入文本,但是當我請求信息並將其顯示在文章查看頁面中時。 HTML認為我正在嘗試添加HTML標記,因此它將中斷頁面。 因此,當使用< >
< >
標記將其正確添加到我的數據庫中,並且文章查看器頁面將正確讀取
#include <iostream>
但是,如果我想編輯該文章,它將閱讀<>
為<>。 在另一個插入中,哪一個將使我回到原來的問題,即將<>插入數據庫並使其不在我的查看器中。 如何阻止HTML更改<>
進入<>,但<pre class"prettyprint"></pre>
是它位於我的文<pre class"prettyprint"></pre>
中。 我有它的工作它將在哪里使用jquery轉換文本區域中的所有內容。
$("#contbox").each(
function () {
$(this).text($(this).html()).html();
}
);
其中#contbox是我的文本區域的ID,但是我不知道如何將其限制為僅在pre標簽內,
提前致謝
最佳做法是將文件存儲為未編碼的字符串,並且僅在顯示時進行編碼。 這樣做的最大原因是,相同的數據可能在需要不同編碼(或根本不需要編碼)的多個位置顯示/使用。 如果您的網站允許用戶輸入HTML格式的文本,則應將其完全按照輸入的格式存儲在數據庫中,並在需要時將其顯示給最終用戶時調用適當的編碼。
您需要在服務器端調用適當的編碼。 這樣可以防止惡意代碼在您的javascript運行並編碼數據之前執行,這還意味着如果禁用了javascript,您的用戶仍會看到有效的文本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.