簡體   English   中英

使用javascript編碼/解碼html

[英]encoding/decoding html using javascript

我正在使用Tinymce編輯器來格式化ASP.NET頁面中的文章。
這是我的代碼:-

 <asp:TextBox runat="server" ID="textarea" Height="70px" 
        Width="324px" TextMode="MultiLine"></asp:TextBox><br />
    <asp:Button ID="submit" runat="server" Text="Button" 
    OnClientClick="encodeMyHtml()" onclick="submit_Click" CausesValidation="False"/>
</div>

這就是我在網上找到的用於在此處編碼html並嘗試使用它的內容。

function encodeMyHtml() {
    var htmlToEncode = document.getElementById("textarea").value;
    // save content after encoding
    alert(htmlToEncode);
    var encodedHtml = escape(htmlToEncode);
    alert(encodedHtml);
    // Later when displaying it back, decode it.
    var ohtml = unescape(encodedHtml);
    alert(ohtml);
}

這也

   function encodeMyHtml() {
      var htmlText = document.getElementById('textarea').value;
      htmlText = htmlText.replace(/\</g, "&lt;");
      //alert("hello2");
      htmlText = htmlText.replace(/\>/g, "&gt;");
      alert(htmlText);
 }

但它對我不起作用,甚至在alert()函數中也不顯示htmlToEncode值。 每次單擊提交按鈕時,都會顯示以下錯誤

從客戶端等檢測到潛在危險的Request.Form值。

請幫助找出問題所在。 我想對HTML內容進行編碼,然后將其存儲到數據庫中,然后在另一頁上進行檢索。

var text = document.getElementById("myTextarea").value;

// temporary element has all the native encoding capability you need
var p = document.createElement('p');

// set text and get back HTML
p.appendChild( document.createTextNode(text) );
var html = p.innerHTML;

// add line breaks to display in elements that don't preformat (like textarea does)
html = html.replace(/(\r\n|\n|\r)/g, '<br />' );

// set html and get back text
p.innerHTML = html;
text = p.textContent||p.innerText;

TinyMCE編輯器已經對用戶編寫的標簽進行了編碼。

要解碼這些標簽,您可以使用以下行

    var decodedHtml = $('<div/>').html(yourText).text();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM