[英]Convert HTML text to Plain text
我有一個文本區域。 我允許輸入html標記,因為可以輸入任何html代碼。
現在我想在不使用第三方工具的情況下將該HTML代碼轉換為純文本...如何才能完成
目前我正在這樣做: -
var desc = Convert.ToString(Html.Raw(Convert.ToString(drJob["Description"])));
drJob [“Description”]是我獲取描述的數據行,我想將描述轉換為純文本。
.NET沒有直接的方法可以做到這一點。 您需要使用像HtmlAgilePack這樣的第三方工具,或者在javascript中執行此操作。
document.getElementById('myTextContainer').innerText = document.getElementById('myMarkupContainer').innerText;
為了您的安全,請不要使用正則表達式。 ( http://www.codinghorror.com/blog/2009/11/parsing-html-the-cthulhu-way.html )
您可以使用System.Text.RegularExpressions.Regex
空標識符替換為html標記
String desc = Regex.Replace(drJob["Description"].ToString(), @"<[^>]*>", String.Empty);
您可以使用正則表達式“<[^>] +>”簡單地使用替換方法
using System.Text.RegularExpressions;
private void button1_Click(object sender, EventArgs e)
{
string sauce = htm.Text; // htm = your html box
Regex myRegex = new Regex(@"(?<=^|>)[^><]+?(?=<|$)", RegexOptions.Compiled);
foreach (Match iMatch in myRegex.Matches(sauce))
{
txt.AppendText(Environment.NewLine + iMatch.Value); //txt = your destination box
}
}
如果您需要更多說明,請與我們聯系。
[編輯:]請注意,這不是一個干凈的功能,所以添加一行來清理空格或換行符。 但實際從中間標簽獲取文本應該可以正常工作。 如果你想節省空間 - 使用正則表達式,看看這是否適合你。 雖然發布關於正則表達不干凈的人是對的,但可能還有其他方法; 從html中分離單一類型的標記時,正則表達式通常更好。 (我用雨量計來解析東西,從來沒有任何問題)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.