110,536
社区成员
发帖
与我相关
我的任务
分享
/// <summary>
/// 删除html代码 保留 IMG P BR三个标签
/// </summary>
/// <param name="str">所需要删除HTML代码的字符串</param>
/// <returns></returns>
public static string ReplaceHtml_IPB(this string str)
{
if (str != "" && str != null)
{
//删除内含的 样式表代码
Regex CutStyle = new Regex(@"<style([^>])*>(\w|\W)*?</style([^>])*>", RegexOptions.IgnoreCase);
String TempStr = CutStyle.Replace(str, "");
//<([^>]+)> 不过滤 img标签
TempStr = TempStr.Replace("</p>", "[/p]");
TempStr = TempStr.Replace("</P>", "[/p]");
TempStr = TempStr.Replace("<p>", "[p]");
TempStr = TempStr.Replace("<P>", "[p]");
Regex BrHtml = new Regex("<br(.*?)>", RegexOptions.IgnoreCase);
TempStr = BrHtml.Replace(TempStr, "[br/]");
Regex SpanHtml1 = new Regex("<span", RegexOptions.IgnoreCase);
TempStr = SpanHtml1.Replace(TempStr, "[span");
Regex SpanHtml2 = new Regex("</span>", RegexOptions.IgnoreCase);
TempStr = SpanHtml2.Replace(TempStr, "[/span]");
Regex ImgHtml = new Regex("<img", RegexOptions.IgnoreCase);
TempStr = ImgHtml.Replace(TempStr, "[img");
Regex CutHtml = new Regex("<([^>]+)>", RegexOptions.IgnoreCase);
TempStr = CutHtml.Replace(TempStr, "");
//TempStr = TempStr.Replace ("/>" , ">");
//Regex ImgHtml=new Regex("<img",RegexOptions.IgnoreCase);
//格式化现有代码
//TempStr = HttpUtility.HtmlEncode(TempStr);
TempStr = TempStr.Replace("[img", "<img");
TempStr = TempStr.Replace("[span", "<span");
TempStr = TempStr.Replace("[p]", "<p>");
TempStr = TempStr.Replace("[/p]", "</p>");
TempStr = TempStr.Replace("[br/]", "<br/>");
TempStr = TempStr.Replace("[/span]", "</span>");
return TempStr;
}
else
{
return "";
}
}