/// 去除所有HTML标记
/// </summary>
public static string DeleteHtmlTag(string html)
{
html = Regex.Replace(html, @"<script[^>]*?>[\s\S]*?</script>", "", RegexOptions.IgnoreCase)
html = Regex.Replace(html, @"<style[^>]*?>[\s\S]*?</style>", "", RegexOptions.IgnoreCase)
html = Regex.Replace(html, @"<(.[^>]*)>", "",RegexOptions.IgnoreCase)
html = Regex.Replace(html, @"([\r\n])[\s]+", "",RegexOptions.IgnoreCase)
html = Regex.Replace(html, @"<!--(.*?)-->", "", RegexOptions.IgnoreCase)
html = Regex.Replace(html, @"“", "“", RegexOptions.IgnoreCase)
html = Regex.Replace(html, @"”", "”", RegexOptions.IgnoreCase)
html = Regex.Replace(html, @"&(.*?)", "", RegexOptions.IgnoreCase)
html = html.Replace("<", "")
html = html.Replace(">", "")
html = html.Replace("\r\n", "")
return html
}
/// <summary>
/// 去除脚本,样式,框架,事件等标记
/// </summary>
public static string DeleteAnyHtmlTag(string html)
{
html = Regex.Replace(html, @"<select[^>]*?>[\s\S]*?</select>", "", RegexOptions.IgnoreCase)
html = Regex.Replace(html, @"<script[^>]*?>[\s\S]*?</script>", "", RegexOptions.IgnoreCase)
html = Regex.Replace(html, @"<style[^>]*?>[\s\S]*?</style>", "", RegexOptions.IgnoreCase)
html = Regex.Replace(html, @"<iframe[^>]*?>[\s\S]*?</iframe>", "", RegexOptions.IgnoreCase)
html = Regex.Replace(html, @"<link[^>]*?>", "", RegexOptions.IgnoreCase)
html = Regex.Replace(html, @"<input[^>]*?>", "", RegexOptions.IgnoreCase)
html = Regex.Replace(html, @" id.*?=.*?""[^>]*?""", "", RegexOptions.IgnoreCase)
html = Regex.Replace(html, @" class.*?=.*?""[^>]*?""", "", RegexOptions.IgnoreCase)
html = Regex.Replace(html, @" style.*?=.*?""[^>]*?""", "", RegexOptions.IgnoreCase)
html = Regex.Replace(html, @" on.*?=.*?""[^>]*?""", "", RegexOptions.IgnoreCase)
return html
}
要想从数据库读取带有html标签的数据,首先存放数据库就要是含有HTML的数据用FCKeditor保存数据,然后读取就是含有html标签的数据了
。。。你可以试试
原因很多. 就拿百度知道来说, 我回答你的问题时会输入文本, 而这些文本会有一些格式, 比如对齐, 字体加粗, 倾斜等. 要保存这种具有各种样式的文本, 保存为html文本到数据库中就是一种很简单的办法. 这虽然不一定是最佳方案, 很多时候的确很方便.欢迎分享,转载请注明来源:内存溢出
评论列表(0条)