热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何使用js将html、css、js代码格式化并高亮显示

代码格式化,高亮显示,这在我们开发过程中都是司空见惯的功能,各种编辑器都有,在好多网站上也可以在线格式化代码,

代码格式化,高亮显示,这在我们开发过程中都是司空见惯的功能,各种编辑器都有,在好多网站上也可以在线格式化代码,但是如何在我们的前端页面上插入一段格式化后高亮显示的代码呢?有些小伙伴可能还不会,那么看完这篇文章之后肯定就学会了。

效果图如下:
在这里插入图片描述

自己要去找实现方法可能很难也很花时间,但是别人总结好的东西就会给你省下很多事情了。

多看多总结多分享,跟大家一起进步,加油!!

好了,下面步入正题吧。


<html><head><meta charset&#61;"utf-8"><script type&#61;"text/Javascript" src&#61;"js/jquery-1.4.2.js">script><script type&#61;"text/Javascript" src&#61;"src/shCore.js">script><script type&#61;"text/Javascript" src&#61;"scripts/shBrushXml.js">script><script type&#61;"text/Javascript" src&#61;"scripts/shBrushJScript.js">script><script type&#61;"text/Javascript" src&#61;"scripts/shBrushCss.js">script><script type&#61;"text/Javascript" src&#61;"extra/html_format.js">script><script type&#61;"text/Javascript" src&#61;"extra/js_format.js">script><script type&#61;"text/Javascript" src&#61;"extra/css_beautify.js">script><link type&#61;"text/css" rel&#61;"stylesheet" href&#61;"styles/shCore.css" /><link type&#61;"text/css" rel&#61;"Stylesheet" href&#61;"styles/shCoreDefault.css" /><link type&#61;"text/css" rel&#61;"Stylesheet" href&#61;"styles/shThemeDefault.css" /><title>测试代码高亮title>head><body><style id&#61;"css_code">input { line-height: 32px; outline: none; border: 1px solid violet; }style><div id&#61;"ahri"><div> <p> <input type&#61;"text"> <input type&#61;"number"><input type&#61;"checkbox"> <button type&#61;"button"> 普通按钮 button><button type&#61;"reset"> 重置按钮 button><button type&#61;"submit"> 提交按钮 button>p>div><p> <span> <button type&#61;"button"> button button>span> <span> <button type&#61;"reset"> reset button>span> <span> <button type&#61;"submit"> submit button>span>p>div><script id&#61;"js_code">function ahri() { const map &#61; new Map([ [&#39;? ?&#39;, &#39;你在教我做事&#xff1f;&#xff1f;&#39;],[new Array(5).fill(&#39;??&#39;), &#39;你不对劲&#39;]]); console.log(map.get(&#39;? ?&#39;));}script><div id&#61;"kurumi">div><div id&#61;"leona">div><div id&#61;"dianna">div><div><h2>who&#39;s your daddyh2>div><script type&#61;"text/Javascript">format();function format() {// 获取要进行处理的html代码内容html_code &#61; document.getElementById(&#39;ahri&#39;).innerHTML.replace(/^\s&#43;/, &#39;&#39;);tabsize &#61; 2; // 缩进位数tabchar &#61; &#39; &#39;; // 缩进方式为空格if (tabsize &#61;&#61; 1) {tabchar &#61; &#39;\t&#39;; // 缩进方式为tab}// SyntaxHighlighter插件处理代码高亮时需要使用到pre标签var pre &#61; document.createElement(&#39;pre&#39;);// 设置pre标签的class名称为这个就可以对html代码进行高亮处理pre.className &#61; "brush: html;"if (html_code && html_code.charAt(0) &#61;&#61;&#61; &#39;<&#39;) {// 使用style_html方法对html代码进行格式化pre.innerHTML &#61; style_html(html_code, tabsize, tabchar, 80);} else {// 使用js_beautify方法对js代码进行格式化pre.innerHTML &#61; js_beautify(html_code, tabsize, tabchar);}// 将pre标签内容加入到dom中$(&#96;#kurumi&#96;).append(pre);// 获取js代码内容js_code &#61; document.getElementById(&#39;js_code&#39;).innerHTML.replace(/^\s&#43;/, &#39;&#39;); // 创建pre标签同上var js_pre &#61; document.createElement(&#39;pre&#39;);// 这里的class名称要设置要变为以下内容js_pre.className &#61; "brush: jscript;"// 对js代码进行格式化js_pre.innerHTML &#61; js_beautify(js_code, tabsize, tabchar);// 将pre标签内容放入到dom中$(&#39;#leona&#39;).append(js_pre);// css代码格式化的方法的配置参数var options &#61; {indent: &#39; &#39;, // 缩进使用空格或 \t&#xff08;tab&#xff09;// openbrace: &#39;separate-line&#39; // 使用第一个{的时候是否换行}// 获取css代码内容var css_code &#61; document.getElementById(&#39;css_code&#39;).innerHTML.replace(/^\s&#43;/, &#39;&#39;);// 创建pre标签同上var css_pre &#61; document.createElement(&#39;pre&#39;);// 将class名称改一下css_pre.className &#61; "brush: css;"// 格式化css代码css_pre.innerHTML &#61; cssbeautify(css_code, options);// 将pre标签内容放入到dom中$(&#39;#dianna&#39;).append(css_pre);// 配置一下SyntaxHighlighter插件Object.assign(SyntaxHighlighter.defaults, {toolbar: false, // 是否显示帮助的?按钮&#39;quick-code&#39;: false // 是否双击后编辑代码})// 调用此方法就可以将代码进行高亮了// 如果使用SyntaxHighlighter.all()无法出现代码高亮效果&#xff0c;就直接使用SyntaxHighlighter.highlight();SyntaxHighlighter.all();}script>body>
html>

代码基本都很简单&#xff0c;如果想要实现更多的功能可以去看看工具方法的源码&#xff0c;我也是看了源码慢慢摸索出来的&#xff0c;希望能对大家有所帮助。
源代码可以在这里自行下载查看。

如果大家对高亮代码的颜色有所要求&#xff0c;那么也可以自己设置代码高亮颜色&#xff0c;参考方法如下&#xff1a;

我们可以参考VScode的主题样式来配置自己的代码高亮展示

在这里插入图片描述

在VScode中打开开发者模式&#xff0c;我们就可以像在浏览器中那样查看VScode编辑器中的代码主题颜色样式了&#xff0c;然后在页面上也同样打开开发者模式&#xff0c;一个个元素去对照&#xff0c;修改对应的css文件就可以达到我们自定义代码高亮主题色彩的目的了。


推荐阅读
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 本文详细介绍了如何解决Uploadify插件在Internet Explorer(IE)9和10版本中遇到的点击失效及JQuery运行时错误问题。通过修改相关JavaScript代码,确保上传功能在不同浏览器环境中的一致性和稳定性。 ... [详细]
  • 本文介绍了如何利用JavaScript或jQuery来判断网页中的文本框是否处于焦点状态,以及如何检测鼠标是否悬停在指定的HTML元素上。 ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
author-avatar
呵呵哒
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有