我需要爲一段html文本生成一段摘錄,我不能僅使用Substring方法,因爲我可能正在修剪一個標籤,是否有一個函數將標籤放入考慮,所以它跳過,直到標籤結束?修剪html文本c#的一部分,但不修剪html標籤
0
A
回答
1
我認爲HTML敏捷性包將提供您所需的功能:
和:
1
沒有 「功能」 做你想做的事,您必須使用HTML解析器(例如Russ C建議的解析器)並迭代所有節點。
請,請請do not try with regular expressions(我只是在這裏主動)。
+0
+1「不要試用正則表達式」 – martin
0
一個例子將有助於ckittel聲明..如果我確實得到你的問題沒有這樣的內置功能。
根據您的需求,以及那種你正在處理的HTML,你可以與剝離從你的文字的HTML標記和解碼HTML實體簡單的基於正則表達式的方法做:
public static string StripHTML(string HTMLText)
{
string ret = HTMLText.Replace("<br>", "\n").Replace("<br />", "\n");
Regex reg = new Regex("<[^>]+>", RegexOptions.IgnoreCase);
return HttpUtility.HtmlDecode(reg.Replace(ret, ""));
}
如果您喜歡的東西下面的代碼測試此代碼..
string longHtmlText = "<html>This is a "<b>long & bolded</b> <a href=\"http://en.wikipedia.org/wiki/HTML\">HTML</a> text</html>"";
string excerpt = StripHTML(longHtmlText);
excerpt = excerpt.Substring(0, 30) + "(..)";
..the結果將是..
這是一個「長&加粗的HTML(..)
..應該回答你的問題。
請記住,正如Albireo注意到的,Regex不是HTML解析...但如果您需要快速HTML剝離和修剪(對於簡單的HTML文本),無需外部組件,此代碼可能已足夠。
相關問題
- 1. jquery - 修剪內部HTML?
- 2. 使用'sed'修剪HTMl標籤和不必要的空格
- 3. 修剪引導標籤
- 4. 如何修剪HTML中空標記的頭部和尾部?
- 5. PHP修剪不修剪的空間
- 6. 修剪在C#
- 7. 如何修剪使用PHP的HTML標籤和格式?
- 8. 使用preg_replace修剪html標籤中的所有空格
- 9. 如何從asp.net網格視圖中的文本中修剪html標籤?
- 10. 修剪文本帶分隔符文件
- 11. MessageBox.Show()中的標題文本被修剪
- 12. 修剪文字
- 13. 修剪一段
- 14. 修剪HTML內容的空格?
- 15. Postgres分區修剪
- 16. 在java中修剪文本
- 17. 拉文本和修剪
- 18. 使用sed修剪文本
- 19. Ruby on Rails,修剪文本
- 20. jstree修剪長文本
- 21. 使用CSS修剪文本
- 22. 修剪標籤中的顯示內容
- 23. PHP修剪掉不期望的文本
- 24. 在HTML錨節點中修剪href
- 25. php字符限制(修剪html段落)
- 26. JavaScript的jQuery的URL部分修剪
- 27. 修剪部分返回的字段
- 28. 正則表達式來修剪標籤之間的文本
- 29. 爲文本修剪一個php
- 30. 修剪功能沒有真正修剪
你能舉個例子說明你在找什麼。也許是「之前」和「之後?」 – ckittel