C# CodeHighlighter生成的高亮着色HTML源码格式化


  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文件。

贴图图片-CodeHighlighter源代码格式化关键词高亮着色



参考文章:CodeHighlighter源代码格式化,代码缩进,关键词高亮着色(C#源码)




扫一扫加微信:
 
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
上一篇:SQLServer数据库转移高版本转低版本(把2008R2的数据库备份为2005)
下一篇:C# 格式化CodeHighlighter生成的SQL脚本高亮着色源码(CSFramework.com原创)
评论列表

发表评论

评论内容
昵称:
关联文章

C# CodeHighlighter生成HTML格式化
C# 格式化CodeHighlighter生成SQL脚本(CSFramework.com原创)
原创:CodeHighlighter源代码格式化,代码缩进,关键词(C#)
C#源代码类(C/S框架网开源)
模拟百度搜索渲染HTML页面关键词分组排序算法(C#)
CMS代码 - Prism下载
ClassGenerator V2.01 生成DAL
ClassGenerator V2.01 生成BLL
ClassGenerator V2.01 生成ORM
CSFramework.CodeGeneratorV6.0-生成
C#.NET iTextSharp生成PDF文件大全(生成表格、透明水印,页脚页眉页码等)
生成窗体Form集成到VS解决方案 - C/S框架三层架构代码生成器操作指南
C# GridView 自定义单元格背景
VS编译生成解决方案失败,但是检查完全正常奇异现象
ZXing二维支持中文C#
C# 自动调整颜色(加深、变
C#进程管理器(Managing .Net Process C#)
DevExpress Winform 利用GridControl开发会计凭证控件(C#)
C#水平一般开发者能读懂企业版与掌握框架技术吗?
DevExpress XtraReport报表实例下载(C#)

热门标签
.NET5 .NET6 .NET7 APP Auth-软件授权注册系统 Axios B/S B/S开发框架 Bug Bug记录 C#加密解密 C#源码 C/S CHATGPT CMS系统 CodeGenerator CSFramework.DB CSFramework.EF CSFrameworkV1学习版 CSFrameworkV2标准版 CSFrameworkV3高级版 CSFrameworkV4企业版 CSFrameworkV5旗舰版 CSFrameworkV6.0 DAL数据访问层 Database datalock DbFramework Demo教学 Demo下载 DevExpress教程 DOM EF框架 Element-UI EntityFramework ERP ES6 Excel FastReport GIT HR IDatabase IIS JavaScript LINQ MES MiniFramework MIS NavBarControl Node.JS NPM OMS ORM PaaS POS Promise API Redis SAP SEO SQL SQLConnector TMS系统 Token令牌 VS2022 VSCode VUE WCF WebApi WebApi NETCore WebApi框架 WEB开发框架 Windows服务 Winform 开发框架 Winform 开发平台 WinFramework Workflow工作流 Workflow流程引擎 版本区别 报表 踩坑日记 操作手册 代码生成器 迭代开发记录 基础资料窗体 架构设计 角色权限 开发sce 开发技巧 开发教程 开发框架 开发平台 开发指南 客户案例 快速搭站系统 快速开发平台 秘钥 密钥 权限设计 软件报价 软件测试报告 软件简介 软件开发框架 软件开发平台 软件开发文档 软件体系架构 软件下载 软著证书 三层架构 设计模式 生成代码 实用小技巧 收钱音箱 数据锁 数据同步 微信小程序 未解决问题 文档下载 喜鹊ERP 喜鹊软件 系统对接 详细设计说明书 行政区域数据库 需求分析 疑难杂症 蝇量级框架 蝇量框架 用户管理 用户开发手册 用户控件 在线支付 纸箱ERP 智能语音收款机 自定义窗体 自定义组件 自动升级程序