Javascript实现的CSS代码高亮显示
发布时间:2024-07-20 10:43:08
标签:CSS代码,高亮
相比JavaScript,CSS的语法就简单多了,主要是处理注释、字符串、CSS样式名称、CSS样式值、缩进和换行,具体详情请看代码。
<!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> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>Javascript实现CSS代码高亮显示 </title> <style type="text/css"> body{ font-size:12px; line-height:1.8; font-family:'Courier New', Courier, monospace; } #area{ width:320px; height:120px; } </style> </head> <body> <textarea id="area"> body{ font-size:12px; line-height:1.8; } #area{ width:320px; line-height:1.5; font-family:"Courier New", Courier, monospace; } /* ul{ margin:0; padding:0; } */ </textarea> <button id="btn">This'S Testing……</button> <div id="pre" style="color:#F0F;"></div> <script type="text/javascript"> function $(id) { return document.getElementById(id); }; $("btn").onclick=function(){ var code=$("area").value; //处理注释:注释替换成 _数字_ var startIdx=endIndex=-1; var at=0; var commentList=[]; while(true){ startIndex=code.indexOf("/*",at); if(startIndex==-1)break; endIndex=code.indexOf("*/",startIndex); if(endIndex==-1)break; at=endIndex+2; commentList.push(code.substring(startIndex,at)); code=code.replace(commentList[commentList.length-1],"_"+(commentList.length-1)+"_"); } //字符串 code=code.replace(/(['"]).*\1/g,function(m){return ""+m+""}); //CSS样式值 code=code.replace(/:(.+);/g,function(m,n){return ":"+n+";"}); //CSS样式名称 code=code.replace(/[{}]/g,function(m){ if(m=="{"){ return "{"; }else{ return "}"; } }); //注释 code=code.replace(/_(\d+)_/g,function(m,n){return ""+commentList[n]+""}); //处理\t code=code.replace(/^(\t+)/gm,function(m){ return (new Array(m.length+1)).join("&nbsp;&nbsp;&nbsp;&nbsp;"); }); //处理空格 code=code.replace(/^( +)/gm, function(m) { return (new Array(m.length + 1)).join("&nbsp;"); }); //处理换行 code=code.replace(/\r?\n/g,"<br>"); $("pre").innerHTML=code; } </script> </body> </html>


猜你喜欢
- 先学会文件的读写!比如像以前在学校读书的时候,第一门编程课设计要求是制作学生管理系统。这就需要使用文件来处理(也可以用数据库,但是一般C语言
- 首先声明,没有什么不良动机,因为经常会用 translate.google.cn,就想着用 Python 模拟网页提交实现文档的批量翻译。据
- 本文实例为大家分享了PyQt5实现简单数据标注工具的具体代码,分类用,供大家参考,具体内容如下第一个最大的图片是当前要标注的类别,接下来的两
- 每天工作忙,学会python自动收发邮件,代替你问候女友1、相关库介绍1)yagmailYet Another GMAIL/SMTP cli
- 目录1、可迭代对象1.1什么是可迭代对象1.2怎么判断2、字符串的for循环3、列表的for循环4、元组的for循环5、字典的for循环5.
- Scala 循环有的时候,我们可能需要多次执行同一块代码。一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类
- 目录Uiautomator2的安装和使用具体实现如何打开支付宝并进入蚂蚁森林?收能量如何停止完整代码结语@[toc] 虽然我支付宝加了好多好
- 在上一章我们学习了 异常的三个关键字,分别是try、except 以及 finally。我们知道在 try 代码块中如果遇到错误就会抛出异常
- numpy 中 的random模块有多个函数用于生成不同类型的随机数,常见的有 uniform、rand、random、randint、ra
- 前言本文的github仓库地址为: 替换照片人物背景项目(模型文件过大,不在仓库中)由于模型文件过大,没放在仓库中,本文下面有模型下载地址。
- 第一个保存在新建一个文本中<% Dim Username,PassWord,strLogFile,f,ff,Str
- 主要用到的js代码function getSelectedText(){ &nbs
- flash_url : "../swfupload/swfupload_f8.swf" upload_url: &quo
- 本文实例讲述了Yii2框架实现登陆添加验证码功能。分享给大家供大家参考,具体如下:models中LoginForm.phppublic $v
- 如果和不同的后台调接口,如果后台接口没有合到一起,前端可以配不同的代理来共同访问他们的接口在config文件夹下的index.js中设置如下
- 参考官方文档 http://dev.mysql.com/doc/refman/5.7/en/select-into.htmlmysql>
- atan 和 atan2 都是反正切函数,返回的都是弧度对于两点形成的直线,两点分别是 point(x1,y1) 和 point(x2,y2
- 一、了解Variable顾名思义,Variable就是 变量 的意思。实质上也就是可以变化的量,区别于int变量,它是一种可以变化的变量,这
- 前言在Python中,import操作应该算是最为频繁和常见的,但同时也应该是最核心需要搞清楚其工作原理的地方,比如,python是如何找到
- MNIST 数据集介绍MNIST 包含 0~9 的手写数字, 共有 60000 个训练集和 10000 个测试集. 数据的格式为单通道 28