谁有语法高亮的js代码?

ttyp 2005-01-11 01:13:41
rt
...全文
117 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ttyp 2005-01-11
  • 打赏
  • 举报
回复
谢谢awaysrain(绝对零度)
wjg001 2005-01-11
  • 打赏
  • 举报
回复
sc
是是非非 2005-01-11
  • 打赏
  • 举报
回复
呵呵,来晚了
awaysrain 2005-01-11
  • 打赏
  • 举报
回复
测试文件xml

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>页面代码加亮</title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<meta name="Keywords" content="">
<meta name="Description" content="">
<style>
body {
font:menu;
}

div.code {
font-family: Courier New;
font-size:12px;
color:black;
width:99%;
height:400px;
overflow:auto;
border-width:1px;
border-style:inset;
background-color:#eeeeee;
margin:4px;
padding:4px;
scrollbar-dark-shadow-color: #FFFFFF;
scrollbar-base-color : #eeeeee;
scrollbar-shadow-color :#eeeeee;
}

div.code span.keyword {
color:#0000FF;
}

div.code span.string {
color:#FF00FF;
}

div.code span.comment {
color:#008000;
}

div.code span.commonobject {
color:#FF0000;
}
div.code span.node {
color:#808000;
}
</style>
</head>

<body>
<h1>XML代码加亮</h1>
原有的代码:
<xmp id="cod"><?xml version="1.0" encoding="gb2312"?>
<!--code test-->
<menubar>
<menu text="报价菜单" tip="" url="" target="">
<menuitem>
<text>新建报价单</text>
<url>newProject.html</url>
<target />
<tip></tip>
</menuitem>
<menuitem>
<text>打开报价单</text>
<url>testpage.htm</url>
<target>_blank</target>
<tip></tip>
</menuitem>
<menuitem>
<text>保存报价单</text>
<url>#</url>
<target></target>
<tip></tip>
</menuitem>
<menuitem>
<text>报价单另存为...</text>
<url>newProject.html</url>
<target />
<tip></tip>
</menuitem>
<menuitem>
<text>查询报价单</text>
<url>testpage.htm</url>
<target>_blank</target>
<tip></tip>
</menuitem>
<menuitem>
<text>导出...</text>
<url>open.html</url>
<target></target>
<tip></tip>
</menuitem>
<menuitem>
<text>打印</text>
<url>newProject.html</url>
<target />
<tip></tip>
</menuitem>
<menuitem>
<text>退出系统</text>
<url>testpage.htm</url>
<target>_blank</target>
<tip></tip>
</menuitem>
</menu>
<menu text="元件库维护" tip="about the system">
<menuitem>
<text>添加元件</text>
<url>a.html</url>
<target />
<tip></tip>
</menuitem>
<menuitem>
<text>修改元件资料</text>
<url>a.html</url>
<target />
<tip></tip>
</menuitem>
<menuitem>
<text>查询元件</text>
<url>a.html</url>
<target />
<tip></tip>
</menuitem>
</menu>

<menu text="模板维护" tip="about the system">
<menuitem>
<text>新建模板</text>
<url>a.html</url>
<target />
<tip></tip>
</menuitem>
<menuitem>
<text>修改模板信息</text>
<url>a.html</url>
<target />
<tip></tip>
</menuitem>
<menuitem>
<text>查询模板</text>
<url>a.html</url>
<target />
<tip></tip>
</menuitem>
</menu>
<menu text="系统管理" tip="about the system">
<menuitem>
<text>用户管理</text>
<url>a.html</url>
<target />
<tip></tip>
</menuitem>
<menuitem>
<text>角色管理</text>
<url>a.html</url>
<target />
<tip></tip>
</menuitem>
<menuitem>
<text>数据库维护</text>
<url>a.html</url>
<target />
<tip></tip>
</menuitem>
<menuitem>
<text>日志分析</text>
<url>a.html</url>
<target />
<tip></tip>
</menuitem>
<menuitem>
<text>初始环境设定</text>
<url>a.html</url>
<target />
<tip></tip>
</menuitem>
</menu>
<menu text="帮助" tip="about the system" url="firstpage.html">
<menuitem>
<text>帮助信息</text>
<url>a.html</url>
<target />
<tip></tip>
</menuitem>
<menuitem>
<text>关于本系统</text>
<url>a.html</url>
<target />
<tip></tip>
</menuitem>
</menu>
<menu text="导出系统" tip="" url="index.htm" target=""/>
</menubar>
</xmp>
不影响排版位置。
<script language="JavaScript" src="highlight.js"></script>
<script language="JavaScript">
doHighlight(document.getElementById("cod"),"xml");
</script>
</body>
</html>
awaysrain 2005-01-11
  • 打赏
  • 举报
回复
测试文件,java
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>页面Java代码加亮</title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<meta name="Keywords" content="">
<meta name="Description" content="">
<style>
body {
font:menu;
}

div.code {
font-family: Courier New;
font-size:12px;
color:black;
width:99%;
height:400px;
overflow:auto;
border-width:1px;
border-style:inset;
background-color:#eeeeee;
margin:4px;
padding:4px;
scrollbar-dark-shadow-color: #FFFFFF;
scrollbar-base-color : #eeeeee;
scrollbar-shadow-color :#eeeeee;
}

div.code span.keyword {
color:#0000FF;
}

div.code span.string {
color:#FF00FF;
}

div.code span.comment {
color:#008000;
}

div.code span.commonobject {
color:#FF0000;
}

</style>
</head>

<body>
<h1>Java代码加亮</h1>
原有的代码:
<xmp id="cod">
/*
* Michael Chen's Code, created on 2004-7-25
*
*/
package openbugz.service.impl;

import java.util.List;

import openbugz.model.Person;
import openbugz.model.Role;
import openbugz.service.UserManager;

import org.springframework.orm.hibernate.support.HibernateDaoSupport;

/**
*
*
* @author Michael
* @version $Id: HibernateUserManager.java,v 1.1 2004/07/25 10:49:04 michael Exp $
*/
/**
*
*
* @author Michael
* @version $Id: HibernateUserManager.java,v 1.1 2004/07/25 10:49:04 michael Exp $
*/
public class HibernateUserManager extends HibernateDaoSupport implements
UserManager {

/* (non-Javadoc)
* @see openbugz.service.UserManager#loadPerson(long)
*/
public Person loadPerson(long id) {
return (Person)getHibernateTemplate().load(Person.class, new Long(id));
}

/* (non-Javadoc)
* @see openbugz.service.UserManager#createPerson(openbugz.model.Person)
*/
public void createPerson(Person person) {
getHibernateTemplate().saveOrUpdate(person);

}

/* (non-Javadoc)
* @see openbugz.service.UserManager#removePerson(openbugz.model.Person)
*/
public void removePerson(Person person) {
getHibernateTemplate().delete(person);

}

/* (non-Javadoc)
* @see openbugz.service.UserManager#updatePerson(openbugz.model.Person)
*/
public void updatePerson(Person person) {
getHibernateTemplate().update(person);

}

/* (non-Javadoc)
* @see openbugz.service.UserManager#getPersonList()
*/
public List getPersonList() {
return getHibernateTemplate().loadAll(Person.class);
}

/* (non-Javadoc)
* @see openbugz.service.UserManager#addRole(openbugz.model.Person, openbugz.model.Role)
*/
public void addRole(Person person, Role role) {
person.getRoles().add(role);
getHibernateTemplate().update(person);
}

/* (non-Javadoc)
* @see openbugz.service.UserManager#removeRole(openbugz.model.Person, openbugz.model.Role)
*/
public void removeRole(Person person, Role role) {
person.getRoles().remove(role);
getHibernateTemplate().update(person);

}

/* (non-Javadoc)
* @see openbugz.service.UserManager#loginPerson(java.lang.String, java.lang.String)
*/
public Person loginPerson(String loginName, String password) {

List l = getHibernateTemplate().find("from Person p where p.loginName = ? and p.password=?",
new String[] {loginName, password}) ;
if (l.size() == 0) {
return null;
return a <b;
return a > b;
} else {
return (Person)l.get(0);
}
}

/* (non-Javadoc)
* @see openbugz.service.UserManager#findPersonByLoginName(java.lang.String)
*/
public Person findPersonByLoginName(String username) {
// TODO Auto-generated method stub
List l = getHibernateTemplate().find("from Person p where p.loginName=?", username);
if (l.size() == 0) {
return null;
} else {
return (Person)l.get(0);
}
}
}
</xmp>
其他文字,不影响其排版位置。
<script language="JavaScript" src="highlight.js"></script>
<script language="JavaScript">
doHighlight(document.getElementById("cod"),"java");
</script>
</body>
</html>
awaysrain 2005-01-11
  • 打赏
  • 举报
回复
51js上有,今天好像是上不去,只好贴上来了
highlight.js
-----------
/**
* JavaScript Highlight Script
* Author: mechiland(http://www.jzchen.net)
* Version: 1.0b1, 2004/09/21
*/

function doHighlight(domNode, syntax) {
var htmltxt = "";
if (syntax.toLowerCase() == "java" || syntax.toLowerCase() == "javascript") {
htmltxt = new JavaHighLighter(domNode).highlight();
} else if (syntax.toLowerCase() == "xml" ){
htmltxt = new XMLHighLighter(domNode).highlight();
} else {
alert("Not supportted syntax: " + syntax);
return;
}
var newNode = document.createElement("SPAN");
newNode.innerHTML = htmltxt;
var pNode = domNode.parentNode.replaceChild(newNode,domNode);
}

function JavaHighLighter(domNode) {
if (domNode == null) {
alert("domNode is null!"); return;
}
this._domNode = domNode;
this._codetxt = this._domNode.innerHTML;
this._keywords="public,protected,private,static,void,final,class,extends,implements,super,this,boolean,while,if,return,new,true,false,try,catch,throws,throw,null,package,import,else,int,long,do";
this._commonObjects = "String,Integer,Long,Boolean,List";
this._wordDelimiters=" ,.?!;:/<>(){}[]\"'\n\t=+*%";

this.highlight = function() {
var codeArr = new Array();
var word_index = 0;
var htmlTxt = "";

for (var i = 0; i < this._codetxt.length; i++) {
if (this._wordDelimiters.indexOf(this._codetxt.charAt(i)) == -1) { //找不到
if (codeArr[word_index] == null || typeof(codeArr[word_index]) == 'undefined') {
codeArr[word_index] = "";
}

codeArr[word_index] += this._codetxt.charAt(i);
} else {
if (typeof(codeArr[word_index]) != 'undefined' && codeArr[word_index].length > 0)
word_index++;
codeArr[word_index++] = this._codetxt.charAt(i);
}

}


var quote_opened = false;
var slash_star_comment_opened = false;
var slash_slash_comment_opened = false;
var line_num=1;

htmlTxt += ("<div class='code'>");
for (var i=0; i < word_index; i++) {
if (codeArr[i] == " ") {
htmlTxt += (" ");
} else if (!slash_star_comment_opened && !quote_opened && this.isKeyword(codeArr[i])) { //keyword
htmlTxt += ("<span class='keyword'>" + codeArr[i] + "</span>");
} else if (!slash_star_comment_opened && !quote_opened && this.isCommonObject(codeArr[i])) { //keyword
htmlTxt += ("<span class='commonobject'>" + codeArr[i] + "</span>");
} else if (codeArr[i] == "\n") {
if (slash_slash_comment_opened) {
htmlTxt += ("</span>");
slash_slash_comment_opened = false;
}
htmlTxt += ("<br/>");
line_num++;

} else if (codeArr[i] == "\"" && codeArr[i-1] !="\\") {
if (slash_star_comment_opened) {
htmlTxt += (codeArr[i]); continue;
}
if (quote_opened){
htmlTxt += (codeArr[i]+"</span>");
quote_opened = false;
}
else {
htmlTxt += ("<span class='string'>"+codeArr[i]);
quote_opened = true;
}
} else if (codeArr[i] == "/") {
if (codeArr[i+1] == "*") {
if (slash_slash_comment_opened || slash_star_comment_opened) {
htmlTxt += (codeArr[i]); continue;
}
slash_star_comment_opened = true;
htmlTxt += ("<span class='comment'>" + codeArr[i] + codeArr[i+1]);
i++;
} else if (codeArr[i+1] == "/"){
if (slash_star_comment_opened || slash_slash_comment_opened) {
htmlTxt += (codeArr[i]); continue;
}
slash_slash_comment_opened = true;
htmlTxt += ("<span class='comment'>" + codeArr[i] + codeArr[i+1]);
i++;
} else {
htmlTxt += (codeArr[i]);
}

} else if (codeArr[i] == "*") {
if (codeArr[i+1] == "/") {
if (slash_slash_comment_opened) {
htmlTxt += (codeArr[i]); continue;
}
if (slash_star_comment_opened) {
slash_star_comment_opened = false;
htmlTxt += (codeArr[i] + codeArr[i+1] +"</span>");
i++;
}
} else {
htmlTxt += (codeArr[i]);
}

} else if (codeArr[i] == "\t") { //keyword
htmlTxt += ("    ");
} else if (codeArr[i] == "<") { //keyword
htmlTxt += ("<");
} else {
htmlTxt += (codeArr[i]);
}

}
htmlTxt += ("</div>");

return htmlTxt;
}

this.isKeyword = function(val) {
var keywordArr = this._keywords.split(",");
for (var i = 0; i < keywordArr.length; i++){
if (keywordArr[i] == val) {
return true;
}
}
return false;
}

this.isCommonObject = function(val) {
var keywordArr = this._commonObjects.split(",");
for (var i = 0; i < keywordArr.length; i++) {
if (keywordArr[i] == val) return true;
}
return false;
}
}

function XMLHighLighter(domNode) {
JavaHighLighter.call(this,domNode);
this._keywords="xml";
this._commonObjects="version,encoding"
this._wordDelimiters="<?- /\">\n\t";

this.highlight = function() {
var codeArr = new Array();
var word_index = 0;
var htmlTxt = "";
for (var i = 0; i < this._codetxt.length; i++) {
if (this._wordDelimiters.indexOf(this._codetxt.charAt(i)) == -1) { //找不到
if (codeArr[word_index] == null || typeof(codeArr[word_index]) == 'undefined') {
codeArr[word_index] = "";
}

codeArr[word_index] += this._codetxt.charAt(i);
} else {
if (typeof(codeArr[word_index]) != 'undefined' && codeArr[word_index].length > 0)
word_index++;
codeArr[word_index++] = this._codetxt.charAt(i);
}

}



var quote_opened = false;
var comment_opened = false;
var line_num=1;
var node_opened = false;

htmlTxt += ("<div class='code'>");
for (var i=0; i < word_index; i++) {
if (codeArr[i] == " ") {
htmlTxt += (" ");
} else if (!comment_opened && !quote_opened && this.isKeyword(codeArr[i])) { //keyword
htmlTxt += ("<span class='keyword'>" + codeArr[i] + "</span>");
} else if (!comment_opened && !quote_opened && this.isCommonObject(codeArr[i])) { //keyword
htmlTxt += ("<span class='commonobject'>" + codeArr[i] + "</span>");
} else if (codeArr[i] == "\n") {
htmlTxt += ("<br/>");
line_num++;

} else if (codeArr[i] == "\"") {
if (comment_opened) {
htmlTxt += (codeArr[i]); continue;
}
if (quote_opened){
htmlTxt += (codeArr[i]+"</span>");
quote_opened = false;
} else {
htmlTxt += ("<span class='string'>"+codeArr[i]);
quote_opened = true;
}
} else if (codeArr[i] == "<") {
if (codeArr[i+1] == "!") {
if (comment_opened) {
htmlTxt += (codeArr[i]);
continue;
}
comment_opened = true;
htmlTxt += ("<span class='comment'><" + codeArr[i+1]);
i++;
continue;
}
node_opened = true;
htmlTxt += ("<<span class='node'>");

} else if (codeArr[i] == "-") {
if (codeArr[i-1]=="-" && codeArr[i+1] == ">") {
if (comment_opened) {
comment_opened = false;
htmlTxt += (codeArr[i] + "></span>");
i++;
}
} else {
htmlTxt += (codeArr[i]);
}

} else if (codeArr[i] == "\t") { //keyword
htmlTxt += ("    ");
} else if (codeArr[i] == ">") { //keyword
if (node_opened) {
htmlTxt += ("</span>>");
} else
htmlTxt += ">";
} else {
htmlTxt += (codeArr[i]);
}

}
htmlTxt += ("</div>");

return htmlTxt;
}
}
ttyp 2005-01-11
  • 打赏
  • 举报
回复
http://www.howtocreate.co.uk/tutorials/jsexamples/syntax/
找到一个,散分帖!
flyskywlh 2005-01-11
  • 打赏
  • 举报
回复
么意思?
nik_Amis 2005-01-11
  • 打赏
  • 举报
回复
up!

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧