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

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

            //remove line breaks,tabs
            result = source.Replace("\r", " ");
            result = result.Replace("\n", " ");
            result = result.Replace("\t", " ");

            //remove the header
            result = Regex.Replace(result, "(<head>).*(</head>)", string.Empty, RegexOptions.IgnoreCase);

            result = Regex.Replace(result, @"<( )*script([^>])*>", "<script>", RegexOptions.IgnoreCase);
            result = Regex.Replace(result, @"(<script>).*(</script>)", string.Empty, RegexOptions.IgnoreCase);

            //remove all styles
            result = Regex.Replace(result, @"<( )*style([^>])*>", "<style>", RegexOptions.IgnoreCase); //clearing attributes
            result = Regex.Replace(result, "(<style>).*(</style>)", string.Empty, RegexOptions.IgnoreCase);

            //insert tabs in spaces of <td> tags
            result = Regex.Replace(result, @"<( )*td([^>])*>", " ", RegexOptions.IgnoreCase);

            //insert line breaks in places of <br> and <li> tags
            result = Regex.Replace(result, @"<( )*br( )*>", "\r", RegexOptions.IgnoreCase);
            result = Regex.Replace(result, @"<( )*li( )*>", "\r", RegexOptions.IgnoreCase);

            //insert line paragraphs in places of <tr> and <p> tags
            result = Regex.Replace(result, @"<( )*tr([^>])*>", "\r\r", RegexOptions.IgnoreCase);
            result = Regex.Replace(result, @"<( )*p([^>])*>", "\r\r", RegexOptions.IgnoreCase);

            //remove anything thats enclosed inside < >
            result = Regex.Replace(result, @"<[^>]*>", string.Empty, RegexOptions.IgnoreCase);

            //replace special characters:
            result = Regex.Replace(result, @"&amp;", "&", RegexOptions.IgnoreCase);
            result = Regex.Replace(result, @"&nbsp;", " ", RegexOptions.IgnoreCase);
            result = Regex.Replace(result, @"&lt;", "<", RegexOptions.IgnoreCase);
            result = Regex.Replace(result, @"&gt;", ">", RegexOptions.IgnoreCase);
            result = Regex.Replace(result, @"'", "‘", RegexOptions.IgnoreCase);
            result = Regex.Replace(result, @"&(.{2,6});", string.Empty, RegexOptions.IgnoreCase);

            //remove extra line breaks and tabs
            result = Regex.Replace(result, @" ( )+", " ");
            result = Regex.Replace(result, "(\r)( )+(\r)", "\r\r");
            result = Regex.Replace(result, @"(\r\r)+", "\r\n");

            return result;
        }
时间: 2024-08-03 14:42:19

html转换为纯文本,支持撇号的相关文章

Python发送多个附件和支持HTML及纯文本内容的 Email 实现

由于工作中经常需要收发电子邮件,例如每日(周)的工作报告,测试报告,监控告警,定时提醒等等,大都已电子邮件的形式发送.本文将实现一个 Python 的电子邮件发送类,支持发送多个附件(目录),HTML或纯文本内容,抄送收件人,多个接收者等功能. 代码实现 #!/usr/bin/env python # -*- coding: utf-8 -*- ''' Copyright (C) 2015 By Thomas Hu. All rights reserved. @author : Thomas H

数据抽取工具——DMCTextFilter V4.2(纯文本抽出通用程序库)

DMCTextFilter V4.2是由北京红樱枫软件有限公司研制和开发的纯文本抽出通用程序库产品.本产品可以从各种各样的文档格式的数据中或从插入的OLE对象中,完全除掉特殊控制信息,快速抽出纯文本数据信息.便于用户实现对多种文档数据资源信息进行统一管理,编辑,检索和浏览.本产品采用了先进的多语言.多平台.多线程的设计理念,支持多国语言(英语,中文简体,中文繁体,日本语,韩国语),多种操作系统(Windows,Solaris,Linux,IBM AIX,Macintosh,HP-UNIX),多种

数据抽取——纯文本抽出程序库DMCTextFilter

数据抽取工具 纯文本抽出程序库DMCTextFilter DMCTextFilter V4.2是由北京红樱枫软件有限公司研制和开发的纯文本抽出通用程序库产品.本产品可以从各种各样的文档格式的数据中或从插入的OLE对象中,完全除掉特殊控制信息,快速抽出纯文本数据信息.便于用户实现对多种文档数据资源信息进行统一管理,编辑,检索和浏览. 一.应用案例 在实际的推广和应用中,红樱枫的通用文本抽出程序软件被应用到了多个领域,如:信息资源开发利用,智能搜索引擎,情报分析和服务,信息安全,企业知识门户,数字图

数据格式转换(二)纯文本抽出

DMCTextFilter是由北京红樱枫软件有限公司研制和开发的纯文本抽出通用程序库产品.本产品可以从各种各样的文档格式的数据中或从插入的OLE对象中,完全除掉特殊控制信息,快速抽出纯文本数据信息.便于用户实现对多种文档数据资源信息进行统一管理,编辑,检索和浏览. 本产品采用了先进的多语言.多平台.多线程的设计理念,支持多国语言(英语,中文简体,中文繁体,日本语,韩国语),多种操作系统(Windows,Solaris,Linux,IBM AIX,Macintosh,HP-UNIX),多种文字集合

jQuery截取字符串、日期字符串转Date、获取html中的纯文本

jQuery截取字符串.日期字符串转Date.获取html中的纯文本. var com = com || {}; (function ($, com) { /* * 截取字符串 * @param str:要截取的字符串 * @param len:保留多少字符 * @param symbol:超过之后字符串末端要添加的字符 */ com.cutStr = function (str, len, symbol) { if (symbol == undefined) { symbol = "...&q

Markdown:纯文本进行网页排版的简单标记语言

Markdown http://daringfireball.net/projects/markdown/ 2016-08-03 Markdown是一种标记语言,对纯文本使用简单的标记符号进行网页格式排版,然后使用编译器可将其转换为丰富格式的结构化HTML文档. Markdown以纯文本格式文件储存,默认后缀名为md,其格式易读.编辑简单.使用Markdown编写需要格式化的帮助或说明文档之类,甚至撰写文稿.出版物等变得比较简单. Github网站使用添加了部分功能的Markdown编辑器,多数

数据抽取工具——DMCTextFilter(纯文本抽出通用程序库)

DMC文本抽出支持office.pdf.邮件.压缩文件等几乎所有软件的各个版本的文本提取以及邮件中的附件.压缩文件中的压缩文件.嵌入文件中的文件的文本提取. DMCTextFilter 是由北京红樱枫软件有限公司研制和开发的纯文本抽出通用程序库产品.本产品可以从各种各样的文档格式的数据中或从插入的OLE对象中,完全除掉特殊控制信息,快速抽出纯文本数据信息.便于用户实现对多种文档数据资源信息进行统一管理,编辑,检索和浏览.本产品采用了先进的多语言.多平台.多线程的设计理念,支持多国语言(英语,中文

纯文本抽出程序库DMC TEXT FILTER

因需而生,红樱枫为文本转换市场领航 --纯文本抽出程序库DMC TEXT FILTER,从需求中把握平衡 在高度数字化的今天,数字图书馆已经成为很多人查询资料的有效途径.然而即使在畅通的宽带搜寻中一样会出现堵塞,可恨的是这种堵塞可能并不是网络造成的,而是出于个人电脑的软件配置.就读国际关系学院的研究生韩小姐颇有感触:"在查找资料时,面对繁多的数据格式,由于手头的工具太少,大量的文件无法打开,只好望而兴叹."据了解,有韩小姐这种想法的用户不在少数. 广泛需求,催熟应用市场 对症下药,红樱

纯文本抽出通用程序库 让您不再为文本抽出和处理发愁!

该程序库可以从数十种数据文件格式中,将纯文本数据进行抽出,通过该程序库,用户可以轻松获得各种格式文档的文字信息,方便检索和处理.功能:(1)文件自动识别:可识别源生成文件和其版本,文件的识别不是根据文件的扩展名,而是根据文件内部信息进行识别.(2)文本抽出:从指定的文件或嵌在文件中的OLE对象中抽出文本数据.(3)属性抽出:从指定文件中,将文件属性抽出到属性结构体中.(4)页面抽出:从指定文件中,抽出指定页中的文本数据.(5)加密PDF文件抽出:从设定了安全包保护的PDF中抽出文本数据.特点:方