我正在做一个小任务,需要使用带有 HTML 字符串的正则表达式。我当前的问题是正确获取包含在 HTML 标记中的字符串。
例如:
我有一个字符串
<p><Placeholder></p>
我已经能够使用以下正则表达式获取内容
private string Unescape(){
string s = WebUtility.HtmlDecode("<p><Placeholder></p>");
string dec = Regex.Replace(s, "^<.*?>|^<.*?><.*?>", "");
return Regex.Replace(dec, "</.*?>$|</.*?></.*?>$", "");
}
哪个会返回:
<Placeholder>
但是,字符串是否应该包含额外的 HTML 标记,例如:
<p><strong>Placeholder</strong></p>
我会得到这个
<strong>Placeholder
看来我只能成功删除结束标签,但我不能对开始标签做同样的事情。谁能告诉我哪里出错了?
编辑:
总而言之,我有没有办法将 HTML 标签中包含的字符串视为文字?覆盖字符串可能包含特殊字符的可能性(例如 > <)