我有一個長的字符串DAT可以包含HTML標籤 應用的HTMLEncode將編碼所有標籤 但我想這種方法留下完整 一些特定的標籤怎麼可能的HTMLEncode()爲特定的標籤只有
1
A
回答
1
對整個字符串進行編碼,然後解碼您不想編碼的特定標籤。
如果您只允許沒有任何屬性的簡單標籤(例如<b>
和<u>
),那麼您可以使用簡單的Replace
對它們進行解碼。
1
假設您的輸入HTML是格式良好的,您可以使用正則表達式。這是可能的,因爲您不是試圖在嵌套標籤中查找匹配對,而且您並不擔心HTML註釋中出現的標籤。否則,正則表達式將成爲這項工作的一個不好的候選人。
var allowedTags = new[] { "a", "abbr", "br", /* etc. */ };
var output = Regex.Replace(input,
// Matches a single start or end tag
@"</?(\w+)[^>]*>",
// If the tag is one of the allowed tags...
me => allowedTags.Contains(me.Groups[1].Value)
// ... keep it unchanged
? me.Value
// otherwise, HTML-encode it
: HttpServerUtility.HtmlEncode(me.Value),
RegexOptions.Singleline);
如果您的HTML來自用戶,那麼您不能認爲它是格式良好的。在這種情況下,我會推薦一個更強大的解決方案,例如使用Html Agility Pack。
相關問題
- 1. 只對特定的標籤/ ID
- 2. Github API只能得到具有特定標籤的請求
- 3. git只拉一個特定標籤
- 4. 在grails中只轉義特定標籤
- 5. 有沒有辦法限制自定義標籤的使用,以便它只能在特定標籤內使用?
- 6. 設計標籤,排除具有特定樣式的標籤
- 7. 如何刪除特定標籤後的所有標籤?
- 8. 查找特定的標籤
- 9. 打開特定的標籤
- 10. 從特定的XML標籤
- 11. 只選擇特定的TR標籤的XPath在java中
- 12. 如何使JavaScript的計算只能在特定的DIV標籤
- 13. 只在軌道中的特定帖子的標籤雲
- 14. jsoup:解析某些標籤,它只是一個特定的標籤
- 15. 更改標籤的價值只有在另外的標籤有
- 16. WebDriver特定標籤
- 17. 只有標籤上的圖標
- 18. 獲取只)特定簽名了Type.GetMethods的(
- 19. CSS3只有標籤預選標籤
- 20. 只閱讀來自RSS Feed的特定標籤
- 21. BeautifulSoup:從特定的類獲得通用標籤只
- 22. 如何只獲取elementsByClassName的特定標籤?
- 23. 如何只解析特定的標籤值?
- 24. 解析XML領域只在特定的標籤
- 25. mod_rewrite特定的url只有
- 26. XmlSerializer.Deserialize只有特定的類
- 27. 只有特定行的stat_summary
- 28. 刪除特定標籤如果在特定標籤內
- 29. 選擇爲獲得所有標籤具有特定屬性和
- 30. 獲取推特具有特定#標籤的用戶