使用C#将HTML文本转换为普通文本,去掉所有的Html标记(转)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

//首先需要导入命名空间
using System.Text.RegularExpressions;

namespace WindowsFormsApplication1
{
   public class Class1
    {
       /// <summary>
       /// 将html文本转化为 文本内容方法NoHTML
       /// </summary>
       /// <param name="Htmlstring">HTML文本值</param>
       /// <returns></returns>
        public string NoHTML(string Htmlstring)
        {
            //删除脚本
            Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase);
            //删除HTML
            Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @"([/r/n])[/s]+", "", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @"<!--.*", "", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @"&(quot|#34);", "/", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @"&(amp|#38);", "&", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @"&(lt|#60);", "<", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @"&(gt|#62);", ">", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @"&(nbsp|#160);", "   ", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @"&(iexcl|#161);", "/xa1", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @"&(cent|#162);", "/xa2", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @"&(pound|#163);", "/xa3", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @"&(copy|#169);", "/xa9", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @"&#(/d+);", "", RegexOptions.IgnoreCase);
            //替换掉 < 和 > 标记
            Htmlstring.Replace("<", "");
            Htmlstring.Replace(">", "");
            Htmlstring.Replace("/r/n", "");
            //返回去掉html标记的字符串
            return Htmlstring;
        }
    }
}

简单版本:

public string NoHtml(string html)
{
    string StrNohtml = System.Text.RegularExpressions.Regex.Replace(html, "<[^>]+>", "");
    StrNohtml = System.Text.RegularExpressions.Regex.Replace(StrNohtml, "&[^;]+;", "");
    return StrNohtml;
}
时间: 2024-12-09 16:29:01

使用C#将HTML文本转换为普通文本,去掉所有的Html标记(转)的相关文章

JSON文本转换为JSONArray 转换为 List&lt;Object&gt;

1 package com.beijxing.TestMain; 2 3 import java.io.File; 4 import java.io.IOException; 5 import java.util.ArrayList; 6 import java.util.List; 7 8 import org.apache.commons.io.FileUtils; 9 10 import com.beijxing.entity.Student; 11 12 import net.sf.js

html转换为纯文本,支持撇号

/// <summary> /// html转换为纯文本 /// </summary> /// <param name="source"></param> /// <returns></returns> private static string HtmlToPlainText(string source) { string result; //remove line breaks,tabs result = so

ElasticSearch导入txt文本或者json文本

前段时间做的东西,闲下来做一下整理记录. 业务:将数据从本地恢复到ES上,本地文件较大,解压后数据量在10个G左右的数据. 逻辑处理:针对业务需求,共尝试过三次实践. 一.使用bulk:ES本地支持的批量导入方式,推荐文本大小在10-15M左右,文件的上限应该是不能超过200M(不确定). 二.使用logstash:ES官方的另一个产品,将数据文本转换为ES的数据源. 三.使用Java:springData-ES的java方式.第三种方式使用线程池+缓存队列+springData对Es的封装逻辑

linux学习之路及文本查看和文本处理命令

这一篇主要介绍几个常用的文本查看命令和文本处理命令. 首先介绍文本查看命令 cat:用于连接文件并显示 说明:当只有一个文件时,则用于查看文件内容:当有多个文件时,cat命令会将这些文件连接起来,在一起显示出来 语法格式:cat [option] FILE... -n:显示内容的时候把行号显示出来 -E:显示每一行的结束符$符(默认不显示) tac:也是用于显示文件内容,只不过他是将文件的内容倒过来显示,与cat相反 -n:显示行号 -E:显示每一行结尾的结束符$ 分屏操作命令 more与les

描文本和纯文本做推广优化SEO缔造利润的钱景

情节此次的优化经验,分享我对关于三种外链形式的优错误谬误观点: 第一种是超文本链接,这种url能够直接点击入站点,这么的uri假如文章的内容斗劲吸援用户,内容里插入超文本链接,用户在看了这么的内容后,想看见更出色的内容便会点击這个超链接,这么的url不单能提高这个上网站的权重,对流量的提高也很可不美观. 虽说这种链接对优化的补益最好,不外它在SEO优化中发布是很罕有的,所以列位站长伴侣能用的这种超文本链接更好. 第三,纯文本链接.锚文本链接对优化的效用众多站长都很理解了.也是浑如说郁闷的.通俗上

java界面编程(2) ------ 按钮,文本输入框和文本区域

本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020 上节创建了视窗,这是其他组件的容器,这节就来创建按钮. 创建按钮,只需要在希望出现的地方调用JButton的构造器即可. JButton是一个组件,它有自己的小窗口,能作为整个更新过程的一部分而自动被重绘.也就是说,你不必显示绘制一个按钮或者别的类型的控件,只要将其放在窗体上,它们可以自动绘制自己.采用上节的例子,在其基础上修改如下: public class SwingTes

kindeditor文本编辑器删除文本中图片路径出错

string[] imgname; MODEL.Strategy modelMenu = bllMenu.GetModel(int.Parse(strId)); imgname = getPicUrl.getPicUrls(modelMenu.SContent).Split('|'); foreach (string c in imgname) { ImageHelper.DeleteImg(HttpContext.Current.Server.MapPath(c)); } kindeditor

iOS-UILable多行显示文本内容、根据文本长短自动计算文本框高度

iAronTalk Blog opens. The clean and elegantlife style deduces the deep thought of life. -=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= UILabel作为UIView家族中的一员,其应用广泛,使用方法清晰明了深受发烧友们喜欢,是为首选. 针

VS2010/MFC字体和文本输出:文本输出

字体和文本输出:文本输出 本节主要讲解文本输出的方法和实例. 文本输出过程 在文本输出到设备以前,我们需要确定字体.字体颜色和输出的文本内容等信息.Windows窗口的客户区由应用程序管理,所以我们还要在应用程序中控制输出文本的格式,例如后续字符的位置.换行等格式. 由此,文本的输出过程大致包括确定字体信息.格式化文本和执行输出操作三个步骤.下面分别讲解. 1.确定字体信息 文本在输出以前应该先确定字体信息,或者是当前正在使用的字体,或者是自定义的字体,之后就可以根据确定的字体来显示文本或者利用