C# CodeHighlighter生成的高亮着色HTML源码格式化
C# CodeHighlighter生成的高亮着色HTML源码格式化
调用CodeHighlighterEngine.GenerateHtmlInline方法生成的高亮代码没有排版(没有代码格式化),因此自己实现C#代码排版功能,效果一般吧,总比没有排版好多了。 C# Code: /// <summary> /// HTML代码排版格式化 /// </summary> /// <param name="srcHTML"></param> /// <returns></returns> private static string IndentCodeHTML(string srcHTML) { System.Text.StringBuilder retCode = new System.Text.StringBuilder(); int indent = 0; string[] lines = srcHTML.Split('\n'); string NoHtml; foreach (string line in lines) { NoHtml = WebUtility.HtmlDecode(RemoveHTML(line.Trim()));//转成原始内容 //判断结束缩进代码 if (IsIdentyTagEnd(NoHtml)) { indent--; if (indent < 0) indent = 0; } string formatedLine = line.Trim(); for (int i = 0; i < indent; i++) { formatedLine = " " + formatedLine; //formatedLine = " " + formatedLine;//指表符 } retCode.Append(formatedLine + "\n"); //判断开始缩进代码 if (IsIdentyTag(NoHtml, "head") || IsIdentyTag(NoHtml, "body") || IsIdentyTag(NoHtml, "div") || IsIdentyTag(NoHtml, "table") || IsIdentyTag(NoHtml, "tr") || IsIdentyTag(NoHtml, "td") || IsIdentyTag(NoHtml, "center") ) { indent++; } } return retCode.ToString(); } /// <summary> /// 判断代码缩进的标记,比如:head,body,div,table,tr,td代码行,下一行要缩进 /// </summary> /// <param name="line">当前代码行</param> /// <param name="tag">比如:head,body,div,table,tr,td</param> /// <returns></returns> private static bool IsIdentyTag(string line, string tag) { return line.Trim().StartsWith("<" + tag) && line.EndsWith(">") || line.Trim().StartsWith("<" + tag + ">"); } /// <summary> /// 判断结束标记 /// </summary> /// <param name="line">当前代码行</param> /// <returns></returns> private static bool IsIdentyTagEnd(string line) { return false || line.EndsWith("</head>") || line.EndsWith("</body>") || line.EndsWith("</center>") || line.Trim() == "</div>" || line.EndsWith("</div>") || line.Trim() == "</tr>" || line.Trim() == "</td>" || line.Trim() == "</table>"; } //来源:C/S框架网(www.csframework.com) QQ:23404761 C#使用正则表达式移除所有的Html标记,返回纯文本 C# Code: /// <summary> /// C#使用正则表达式移除所有的Html标记,返回纯文本 /// </summary> /// <param name="HtmlString"></param> /// <returns>返回纯文本</returns> private static string RemoveHTML(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", ""); HtmlString = HttpContext.Current.Server.HtmlEncode(HtmlString).Trim(); return HtmlString; } //来源:C/S框架网(www.csframework.com) QQ:23404761 HTML代码格式化效果: HTML Code: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>关于我们-C/S框架网</title> <meta http-equiv='Content-Type' content='text/html; charset=utf-8' /> <meta content='孙中吕(Jonny Sun)' name='author' /> <meta content='珠海市喜鹊信息技术有限公司' name='copyright' /> <meta content='C/S框架网是珠海市喜鹊信息技术有限公司旗下品牌网站,专业的IT技术服务网站,致力于研发基于C#.NET C/S架构的智能快速开发框架平台,力争成为行业软件领军者,专注于快速开发平台,软件开发平台,软件开发框架,提供行业管理软件如ERP/MES/MRP/HIS/CRM/MIS/POS系统解决方案。' name='description' /> <meta content='C/S开发框架,C/S开发平台,C#开发框架,C#开发平台,Winform开发框架,Winform开发平台,C#.Net开发框架,C#.Net开发平台,CS开发平台,CS开发框架,C#开源框架' name='keywords' /> <meta content='MSHTML 6.00.6000.16788' name='GENERATOR' /> <meta name='MSSmartTagsPreventParsing' content='TRUE' /> <meta http-equiv='MSThemeCompatible' content='Yes' /> <link rel="shortcut icon" href="images/logo.ico" type="image/x-icon" /> <link rel="icon" href="images/logo.ico" type="image/x-icon" /> <link href="css/css.css" rel="stylesheet" type="text/css" /> <link href="css/css-menu.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="js/common.js"></script> <link href="css/zzsc.css" rel="stylesheet" /> <script src="js/jquery-3.3.1.js"></script> <script src="js/im_chat.js"></script> </head> <body> <div id="rightArrow"><a href="javascript:;" title="在线客户"></a></div> <div id="floatDivBoxs"> <div class="floatDtt">在线客服</div> <div class="floatShadow"> <ul class="floatDqq"> <li style="padding-left: 0px;"> <a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=23404761&site=qq&menu=yes"> <img src="/images/qq.png" align="absmiddle" /> 在线客服 </a> </li> </ul> <div class="floatDtxt">热线电话</div> <div class="floatDtel"> <img src="/images/online_phone.png" width="155" height="45" alt="" /> </div> <hr /> <div style="text-align: center; padding: 2px 0 5px 0; background: #EBEBEB;"> <img src="/images/XiQue.png" /><br /> 微信二维码 </div> </div> </div> <center> <div class="page_header"> <script type="text/javascript" src="js/title.js"></script> </div> <div class="page_container"> <div class="share"> <script type="text/javascript" src="http://www.csframework.com/js/our-slogan.js"></script> </div> <div class="ptop"> </div> <div class="p_header_bk"> <div id="navframe"> <script type="text/javascript" src="js/menu.js"></script> </div> <div class="location"> <div> <img alt="" src="images/nav_icon.gif" /> <a href="default.htm" class="LinkBlue">C/S框架网</a> | <span class="mytitle">关于我们</span> </div> </div> </div> <div class="content_back" style="height: auto;"> <div style="padding: 3px; margin-left: 100px; height: auto; width: 800px; padding-right: 50px;"> <div> <a target="_blank" href="default.htm"> <img alt="C/S框架网|Logo" src="images\csframework-logo-baidu.jpg" /></a> <br /> <img alt="" src="images\newitem.gif" /> <a target="_blank" href="about-company.htm">珠海市喜鹊信息技术有限公司简介</a> </div> <br /> <hr /> <br /> <div> <img alt="" src="images\item1.gif" /> <a target="_blank" href="http://www.csframework.com">C/S框架网</a>是珠海市喜鹊信息技术有限公司旗下品牌网站、专业的IT技术服务网站,主要面向IT专业技术人员、软件企业以及事业单位提供专业的IT技术咨询服务以及企业信息一体化解决方案。<br /> <div class="bkline"> </div> <img alt="" src="images\item1.gif" /> 本站主要介绍基于Winform平台的<a target="_blank" href="http://www.csframework.com/cs.htm">C/S(Client/Server)系统</a>的设计与研发,全面剖析<a target="_blank" href="http://www.csframework.com/cs-three-tire-architecture.htm">C/S系统开发框架</a>的核心组成部分,结合UML流程图、系统架构图、开发文档以及演示源代码给大家深入剖析和使用详解。借助C/S架构的<a target="_blank" href="http://www.csframework.com/cs-framework-5.0.htm">.NET快速开发平台</a>强大的技术支撑,提高用户软件系统架构的稳定性,提高软件项目开发效率、缩短项目周期,节约开发成本。<br /> <div class="bkline"> </div> <img alt="" src="images\item1.gif" /> <a target="_blank" href="http://www.csframework.com/cs-framework-5.0.htm">C/S系统开发框架</a>基于.NET环境快速开发系统提供了强大的技术支持,编程人员不需要开发系统的基础功能和公共模块,开发框架本身提供了强大的工具实用类库以及开发包,程序员只须集中精力专注业务逻辑部分开发,因此极大提高开发效率、节约开发成本。<br /> <div class="bkline"> </div> <img alt="" src="images\item1.gif" /> 开发框架框架提供数个单表、主从表、多级主从表、对话框、查询界面以及报表功能模板窗体作为参考,结合C/S系统开发框架配套的<a target="_blank" href="http://www.csframework.com/cs-code-generator.htm">代码生成器工具</a>,能快速完成项目三分之二功能。关于代码自动生成器工具,您只需要按照向导操作步骤,快速完成一个复杂业务窗体功能的ORM模型、UI、BLL和DAL<a target="_blank" href="http://www.csframework.com/cs-three-tire-architecture.htm">三层架构</a>源代码以及SQL脚本,快速完成界面和报表开发。<br /> <div class="bkline"> </div> <img alt="" src="images\item1.gif" /> 我们积极收集和采纳用户提供宝贵的意见,并数次改良优化,迭代升级产品,致力于打造技术成熟、性能稳定的基于<a target="_blank" href="http://www.csframework.com/product-list.htm">C/S架构的快速开发平台</a>。借助C/S框架网广大用户资源,在学习的同时创造价值,在成功的时候分享喜悦!<br /> <div class="bkline"> </div> <img alt="" src="images\item1.gif" /> 我们致力于将C/S框架网打造成一流的学习平台提供丰富的学习资料,分享C/S系统开发经验和编程心得,使开发者少走弯路快速提升编程技能,目标驱动、聚焦学习,成就个人价值。<br /> <div class="bkline"> </div> <img alt="" src="images\item1.gif" /> 我们秉着分享成功经验,坚持创新原则,提供优质的售后服务与技术保障,为您的软件项目保驾护航,欢迎选购<a target="_blank" href="http://www.csframework.com/product-list.htm">我们的产品</a>。C/S框架网在您的支持下会建设得更美好!<br /> <div class="bkline"> </div> <img alt="" src="images\item1.gif" /> C/S框架网主要产品有:<br /> <br /> <a target="_blank" href="http://www.csframework.com/cs-framework-5.0.htm">.NET快速开发平台</a> | <a target="_blank" href="http://www.csframework.com/cs-framework-5.0.htm">.NET快速开发框架</a>;<br /> <br /> <a target="_blank" href="http://www.csframework.com/cs-code-generator.htm">C/S系统代码生成器软件</a>;<br /> <br /> <a target="_blank" href="http://www.csframework.com/cs-framework-webapi-1.0.htm">WebAPI开发框架</a>;<br /> <br /> <a target="_blank" href="http://www.csframework.com/cs-authorization-v2.0.htm">软件授权注册系统</a>;<br /> <br /> 作为C/S框架网核心产品,基于C/S架构的.NET快速开发平台已经积累了数百家软件企业以及2000多位软件使用者,成功研发多个行业的系统,如制造、服务、零售、商贸等行业的ERP、MRP、MES、CRM、MIS、HIS、HRP、POS数据管理应用系统。 <br /> <br /> <img alt="C/S框架网|原创精神.创造价值.打造精品" src="images/our03.gif" /> <div class="bkline"> </div> </div> <br /> <hr /> <br /> <table> <tr> <td style="padding: 5px;"> <img alt="C/S框架网-Logo" src="images/cs_logo_2015.png" /> </td> <td> <div style="padding-left: 5px; width: 620px;"> <b>作者介绍:</b> <br /> <br /> <span>作者从事IT行业软件开发领域15年,擅长软件产品研发与快速开发平台技术研究,思维慎密、雷厉风行,具有过人的学习能力,熟悉及使用C、C++、VB、Pascal、C#、Java、HTML等编程语言,参与系统分析、编程设计数十套中大型系统,包括Winform系统、Web系统、APP移动应用等项目,积累丰富的实战经验与项目管理经验。对系统分析、软件架构、设计模式、业务建模、数据挖掘、编程设计、报表应用等技术方面有多年研究及项目应用经验。</span> <br /> <br /> <img alt="" src="images\item1.gif" /><a target="_blank" href="http://www.csframework.com/author.htm">点击查看作者详情</a> </div> </td> </tr> </table> </div> <br /> <br /> <div class="public_img"> </div> </div> <div class="page_footer_outer"> <div style="padding-top: 5px;">站内链接:<a href="default.htm">首页</a> | <a href="sitemap.htm">网站导航</a> | <a href="about.htm" target="_parent">关于我们</a> | <a href="contact.htm" target="_parent">联系我们</a> | <a href="feedback.htm" target="_parent">网站留言</a> | <a href="copyright.htm" target="_parent">版权声明</a> | <a href="quotation.htm" target="_parent">产品报价</a> | <a href="http://www.beian.miit.gov.cn" target="_parent">粤ICP备14010882号-3</a></div> <div>Copyright © 2010-2019 www.csframework.com, All Rights Reserved.</div> <div> <img alt="敬告" title="敬告" src="http://www.csframework.com/images/alarm.gif" /> <span class="main-warning">敬告:本站销售的C/S框架是原创作品,购买后禁止转售、转租及向任何第三方泄露源码!</span> </div> <div class="main-warning-1">本网站内容允许非商业用途的转载,但须保持内容的原始性并以链接的方式注明出处,本网站保留内容的一切权利。</div> </div> <div class="pbtm"> </div> <div class="bk_foot_bk"> </div> </div> </center> </body> </html> //来源:C/S框架网(www.csframework.com) QQ:23404761 网上下载CodeHighlighter组件,然后在自己的项目中添加引用下面的dll文件。 扫一扫加微信:
参考文档:
C#源代码高亮着色类(C/S框架网开源) 原创:CodeHighlighter源代码格式化,代码缩进,关键词高亮着色(C#源码) C# 格式化CodeHighlighter生成的SQL脚本高亮着色源码(CSFramework.com原创) 模拟百度搜索渲染HTML页面关键词高亮分组排序算法(C#) C#.NET iTextSharp生成PDF文件源码大全(生成表格、透明水印,页脚页眉页码等) CSFramework C#代码生成器生成窗体界面UI,BLL,DAL,Model,WCF接口层源代码 C#源码-NopCommerce电子商城系统1.05-源码下载 C#源码-OAoffice源码-源码下载 C#源码-PowerOA1.1-源码下载 C#源码-SCV学生管理系统源码-源码下载 C#源码-SQLServer数据库生成修改工具-源码下载 C#源码-[电子商务]NopCommerce电子商城系统 v1.20_nopcommercepromotion-源码下载 [电子商务]全诚商城生成HTML第三版普通版_qcshop3-源码下载 [电子商务]全诚商城生成HTML多用户版店中店系统 V5.0_dyhmf-源码下载 [电子商务]全诚商城生成HTML门户版 v4.0_mhv4-源码下载
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |