2010-09-15 175 views
0

我正在尋找我的asp.net mvc項目的文本編輯器。我能夠發現很多文本編輯器在那裏工作得很好。文本編輯器 - Asp.net mvc

我在找的是一個只接受像「我是超人」這樣的名人的編輯。 我不想將「<p><strong>I am a superman</strong></p>」保存到我的SQL表中,因爲我必須通過文本框顯示它(例如:<%= Html.TextBox("Remark", Model.empExperience.Remark)%>)。

讓我知道。

+0

這就是我所做的。公共字符串StripTags(字符串strHTML) if(string.IsNullOrEmpty(strHTML)) return string.Empty; //從傳遞的HTML中刪除標籤 strHTML = HttpUtility.HtmlDecode(strHTML); strHTML = Regex.Replace(strHTML,@「<(.|\n)*?>」,string.Empty); return strHTML; } – Hoorayo 2010-09-16 13:39:07

回答

2

由於您不希望允許使用HTML,因此您最好的辦法是簡單地從提供的輸入中剝離HTML。沒有必要爲這類事情實現自定義文本編輯器。

看一看:How can I strip HTML tags from a string in ASP.NET?

+0

你的回答聽起來不錯,但它看起來很複雜,使用「<[^>」*>「。比方說,有一個HTML字符串 「<p>我的工作。</P > <p> </P > <p> </P >」。如何使用「<[^>」*>「將其轉換爲」我曾工作過「?我嘗試了您提供的鏈接中的許多示例代碼,但無法使其工作。 – Hoorayo 2010-09-16 02:00:18

+1

如果這是您的字符串,您必須先解碼它,例如HttpUtility.HtmlDecode(myHtmlEncodedString)在使用RegEx – JustinStolle 2010-09-16 02:18:32

+0

之前,我做了HttpUtility.HtmlDecode(myHtmlEncodedString),並且還添加了Regex.Replace(myHtmlEncodedString,@「<(.|\n)*?>」,string.Empty)。它解決了。謝謝Nathan和JustineStolle – Hoorayo 2010-09-16 02:41:27

1

這是你如何做到這一點(總結彌敦道提供的鏈接的答案):

private static readonly Regex StripHtml = new Regex("<[^>]*>", RegexOptions.Compiled); 

    /// <summary> 
    ///  Strips all HTML tags from the specified string. 
    /// </summary> 
    /// <param name = "html">The string containing HTML</param> 
    /// <returns>A string without HTML tags</returns> 
    public static string StripHtmlTags(string html) 
    { 
     if (string.IsNullOrEmpty(html)) 
      return string.Empty; 

     return StripHtml.Replace(html, string.Empty); 
    }