<SCRIPT LANGUAGE=javascript>
<!--
var b='document.writeln("a is Code"); document.writeln("a isCode");'
var a=[];
alert(b.replace(/\[code=\"(.*?)\"\](.*?)(\[\/code\])/g,function(aa,b,c){ if(b=="js"){ a.push(b);return '<textarea name="txtCode" id="txtCode1" myName="js">' +c+'</textarea> '};if (b=="vb"){ a.push(b);return '<textarea name="txtCode" id="txtCode2" myName="vb">' +c+'</textarea> '}}))
alert(a)
//-->
</SCRIPT>还能简化下 ,自己弄吧
<!--
var b='document.writeln("a is Code"); document.writeln("a isCode");'
var a=[];
alert(b.replace(/\[code=\"(.*?)\"\](.*?)(\[\/code\])/g,function(aa,b,c){ if(b=="js"){ a.push(b);return '<textarea name="txtCode" id="txtCode1" myName="js">' +c+'</textarea> '};if (b=="vb"){ a.push(b);return '<textarea name="txtCode" id="txtCode2" myName="vb">' +c+'</textarea> '}}))
alert(a)
//-->
</SCRIPT>还能简化下 ,自己弄吧
解决方案 »
- 关于document.body.scrollLeft的IE7兼容问题
- javascript /^[0-9]*$/ 和 /[0-9]*/有什么区别?
- 谁能做这个?问了好多人都不会
- CSDN左面菜单上面的导航线条是怎么实现的?
- 二维数组
- 在一次回调中的回调函数中发起另外一次回调的问题(ASP.net)
- 做了一个拖拽.但是ff里面坐标有问题.哪位兄台帮帮忙
- 动态改变Ext控件属性、Tooltips位置显示的问题
- 如何取radiobutton组的值啊?
- 用htc作一个支持HTML的tooltip 但是遇到了困难!!?
- IE7:用JS关闭窗口时提示“是否关闭此窗口”能不能不让提示直接关闭窗口?
- 小弟请教javascript镶嵌java代码的问题,在线等,急!!!
<textarea>
[code="js"]
document.writeln("这是第一个Code");
document.writeln("这是第二个Code");
document.writeln("这是第三个Code"); </textarea>
<script type="text/ecmascript">
var getVal = function (val) {
//不想用替换的方法,这个是捕获的方法,其实都差不多:D
var pat = /\[code=("([^"]*)"|'([^']*)'|[^]]+)\]([\S\s]*?)\[\/code\]/ig, a = [], b = [], i = 0;
while (pat.test(val)) {
a[i] = '<textarea name="txtCode" id="txtCode' + (i ++) + '" myName="' + (b[b.length] = (RegExp.$1 || RegExp.$2 || RegExp.$3)) + '">'
+ RegExp.$4
+ '<\/textarea>';
}
return { "val" : a.join("\n"), ary : b };
};window.onload = function () {
var o = getVal(document.getElementsByTagName("textarea")[0].value);
alert("内容:\n" + o.val + "\n\n\n" + "数组:" + o.ary);
};
</script>
[/code]
<SCRIPT LANGUAGE=javascript>
<!--
var b='[code="js"]document.writeln("a is Code"); [code=\'vb\']document.writeln("a isCode");[/code]document.writeln("a is 3 Code"); '
var a=[];
alert(b.replace(/\[code=(?:\"|\'|)(.*?)(?:\"|\'|)](.*?)(\[\/code\])/g,function(aa,b,c){ if(b=="js"){ a.push(b);return '<textarea name="txtCode" id="txtCode1" myName="js">' +c+'</textarea> '};if (b=="vb"){ a.push(b);return '<textarea name="txtCode" id="txtCode2" myName="vb">' +c+'</textarea> '};if (b=="c#"){ a.push(b);return '<textarea name="txtCode" id="txtCode3" myName="c#">' +c+'</textarea> '}}))
alert(a)
//-->
</SCRIPT>
[/code]
刚才没仔细看
document.writeln("这是第一个Code");
document.writeln("这是第二个Code");
document.writeln("这是第三个Code"); </textarea>js代码[code]
<script type="text/ecmascript">
var getVal = function (val) {
//不想用替换的方法,这个是捕获的方法,其实都差不多:D
var pat = /\[code=("([^"]*)"|'([^']*)'|[^]]+)\]([\S\s]*?)\[\/code\]/ig, a = [], b = [], i = 0;
while (pat.test(val)) {
a[i] = '<textarea name="txtCode" id="txtCode' + (i ++) + '" myName="' + (b[b.length] = (RegExp.$1 || RegExp.$2 || RegExp.$3)) + '">'
+ RegExp.$4
+ '<\/textarea>';
}
return { "val" : a.join("\n"), ary : b };
};window.onload = function () {
var o = getVal(document.getElementsByTagName("textarea")[0].value);
alert("内容:\n" + o.val + "\n\n\n" + "数组:" + o.ary);
};
</script>
[/code]
<SCRIPT LANGUAGE=javascript>
<!--
var b='[code="js"]document.writeln("a is Code"); [code=\'vb\']document.writeln("a isCode");[/code]document.writeln("a is 3 Code"); '
var a=[];
alert(b.replace(/\[code=(?:\"|\'|)(.*?)(?:\"|\'|)](.*?)(\[\/code\])/g,function(aa,b,c){ if(b=="js"){ a.push(b);return '<textarea name="txtCode" id="txtCode1" myName="js">' +c+'</textarea> '};if (b=="vb"){ a.push(b);return '<textarea name="txtCode" id="txtCode2" myName="vb">' +c+'</textarea> '};if (b=="c#"){ a.push(b);return '<textarea name="txtCode" id="txtCode3" myName="c#">' +c+'</textarea> '}}))
alert(a)
//-->
</SCRIPT>
[/code]
<!--
var b='document.writeln("a is Code"); [code=\'vb\']document.writeln("a isCode");[/code]document.writeln("a is 3 Code"); '
var a=[];
alert(b.replace(/\[code=(?:\"|\'|)(.*?)(?:\"|\'|)](.*?)(\[\/code\])/g,function(aa,b,c){ if(b=="js"){ a.push(b);return '<textarea name="txtCode" id="txtCode1" myName="js">' +c+'</textarea> '};if (b=="vb"){ a.push(b);return '<textarea name="txtCode" id="txtCode2" myName="vb">' +c+'</textarea> '};if (b=="c#"){ a.push(b);return '<textarea name="txtCode" id="txtCode3" myName="c#">' +c+'</textarea> '}}))
alert(a)
//-->
</SCRIPT>
<!--
var b='document.writeln("a is Code"); [code=\'vb\']document.writeln("a isCode");[/code]document.writeln("a is 3 Code"); '
var a=[];
alert(b.replace(/\[code=(?:\"|\'|)(.*?)(?:\"|\'|)](.*?)(\[\/code\])/g,function(aa,b,c){ if(b=="js"){ a.push(b);return '<textarea name="txtCode" id="txtCode1" myName="js">' +c+'</textarea> '};if (b=="vb"){ a.push(b);return '<textarea name="txtCode" id="txtCode2" myName="vb">' +c+'</textarea> '};if (b=="c#"){ a.push(b);return '<textarea name="txtCode" id="txtCode3" myName="c#">' +c+'</textarea> '}}))
alert(a)
//-->
</SCRIPT>刚才没注意看,还有点不一样
<textarea>
document.writeln("这是第一个Code");
document.writeln("这是第二个Code");
document.writeln("这是第三个Code"); </textarea>js代码
[code]
<script type="text/ecmascript">
var getVal = function (val) {
//不想用替换的方法,这个是捕获的方法,其实都差不多:D
var pat = new RegExp("\\[c" + "ode=(\"([^\"]*)\"|'([^']*)'|[^]]+)\\]([\\S\\s]*?)\\[\\/co" + "de\\]", "ig"), a = [], b = [], i = 0;
while (pat.test(val)) {
a[i] = '<textarea name="txtCode" id="txtCode' + (i ++) + '" myName="' + (b[b.length] = (RegExp.$1 || RegExp.$2 || RegExp.$3)) + '">'
+ RegExp.$4
+ '<\/textarea>';
}
return { "val" : a.join("\n"), ary : b };
};window.onload = function () {
var o = getVal(document.getElementsByTagName("textarea")[0].value);
alert("内容:\n" + o.val + "\n\n\n" + "数组:" + o.ary);
};
</script>
[code]
document.writeln("这是第一个Code");
document.writeln("这是第二个Code");
document.writeln("这是第三个Code"); </textarea>js代码
<script type="text/ecmascript">
var getVal = function (val) {
//不想用替换的方法,这个是捕获的方法,其实都差不多:D
var pat = new RegExp("\\[c" + "ode=(\"([^\"]*)\"|'([^']*)'|[^]]+)\\]([\\S\\s]*?)\\[\\/co" + "de\\]", "ig"), a = [], b = [], i = 0;
while (pat.test(val)) {
a[i] = '<textarea name="txtCode" id="txtCode' + (i ++) + '" myName="' + (b[b.length] = (RegExp.$1 || RegExp.$2 || RegExp.$3)) + '">'
+ RegExp.$4
+ '<\/textarea>';
}
return { "val" : a.join("\n"), ary : b };
};window.onload = function () {
var o = getVal(document.getElementsByTagName("textarea")[0].value);
alert("内容:\n" + o.val + "\n\n\n" + "数组:" + o.ary);
};
</script>
<!--
var b='document.writeln("a is Code"); [code=\'vb\']document.writeln("a isCode");[/code]document.writeln("a is 3 Code"); '
var a=[];
alert(b.replace(/\[code=(?:\"|\'|)(.*?)(?:\"|\'|)\](.*?)(\[\/code\])/g,function(aa,b,c){ if(b=="js"){ a.push(b);return '<textarea name="txtCode" id="txtCode1" myName="js">' +c+'</textarea> '};if (b=="vb"){ a.push(b);return '<textarea name="txtCode" id="txtCode2" myName="vb">' +c+'</textarea> '};if (b=="c#"){ a.push(b);return '<textarea name="txtCode" id="txtCode3" myName="c#">' +c+'</textarea> '}}))
alert(a)
//-->
</SCRIPT>
走了 麻烦
可以换种方法嘛
mingxuan兄运行这些代码后,复制textarea元素里的代码即是答案为了编辑器标签冲突,只能转换一下<textarea style="width:800px;height:500px;">
<div> [code="js"]  document.writeln("这是第一个Code");  [/code]  [code='vB']  document.writeln("这是第二个Code");  [/code]  [code=c#]  document.writeln("这是第三个Code");  [/code] </div> <script type="text/ecmascript"> var getVal = function (val) { //不想用替换的方法,这个是捕获的方法,其实都差不多。。。:D 	var pat = new RegExp("\\[c" + "ode=(\"([^\"]*)\"|'([^']*)'|[^]]+)\\]([\\S\\s]*?)\\[\\/co" + "de\\]", "ig"), a = [], b = [], i = 0; 	while (pat.test(val)) { 		a[i] = '<textarea name="txtCode" id="txtCode' + (i ++) + '" myName="' + (b[b.length] = (RegExp.$1 || RegExp.$2 || RegExp.$3)) + '">' 			+ RegExp.$4 			+ '<\/textarea>'; 	} 	return { "val" : a.join("\n"), ary : b }; }; window.onload = function () { 	var o = getVal(document.getElementsByTagName("div")[0].innerHTML); 	alert("内容:\n" + o.val + "\n\n\n" + "数组:" + o.ary); }; </script>
</textarea>
<script type="text/javascript">var toHTML = { on : function (str) {
var a = [], i = 0;
for (; i < str.length ;) a[i] = str.charCodeAt(i ++);
return "&#" + a.join(";&#") + ";";
},
un : function (str) {
return str.replace(/&#(x)?([^&]{1,5});?/g, function (a, b, c) {
return String.fromCharCode(parseInt(c, b ? 16 : 10));
});
}
};window.onload = function () {
var o = document.getElementsByTagName("textarea")[0];
o.value = toHTML.un(o.value);
};
</script>
"document.writeln(\"这是第一个Code\");\n"+
"[/code] \n"+
"\n"+
" \n"+
"document.writeln(\"这是第二个Code\"); \n"+
" \n"+
"\n"+
" \n"+
"document.writeln(\"这是第三个Code\"); \n"+
" "i=1
r1=/\[code=.*?([^"']+).*?\]([\s\S]*?)\[\/code\]/
while (r1.test(s)) {
s = s.replace(r1,"<textarea name=\"txtCode\" id=\"txtCode"+ i++ +"\" myName=\"$1\">$2</textarea>");
}alert(s)
</script>
"document.writeln(\"这是第一个Code\");\n"+
"[/code] \n"+
"\n"+
" \n"+
"document.writeln(\"这是第二个Code\"); \n"+
" \n"+
"\n"+
" \n"+
"document.writeln(\"这是第三个Code\"); \n"+
" "i=1
a=[]
r1=/\[code=.*?([^"']+).*?\]([\s\S]*?)\[\/code\]/
while (r1.test(s)) {
s = s.replace(r1,"<textarea name=\"txtCode\" id=\"txtCode"+ i++ +"\" myName=\"$1\">$2</textarea>");
a.push(RegExp["$1"])
}alert(s)
alert(a)
document.writeln("这是第一个Code");
document.writeln("这是第二个Code");
document.writeln("这是第三个Code");
";var ra=str1.match(/\[code=(.*)]([^\0]+?)\[\/code\]/gmi);
var a=new Array(),scode=new Array();
var res="";for(var i=0; i<ra.length; i++ )
{
a[i]=ra[i].replace(/\[code=(.*)]([^\0]+?)\[\/code\]/gmi,"$1").replace(/['"]/g,"");scode[i]=ra[i].replace(/\[code=(.*)]([^\0]+?)\[\/code\]/gmi,"$2");res += "<textarea name=\"txtCode\" id=\"txtCode" + (i+1) + "\" myName=\"" + a[i] + "\">" + scode[i] + "<\/textarea>";
}结果保存在res, a = ["js","vb","c#"]