<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>还能简化下 ,自己弄吧

解决方案 »

  1.   


    <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]
      

  2.   


    <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]
    刚才没仔细看
      

  3.   

    html代码<textarea>
     
    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]
      

  4.   


    <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]
      

  5.   

    靠  不会是估计搞这编辑器的吧<SCRIPT   LANGUAGE=javascript>
    <!--
    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>
      

  6.   

    <SCRIPT   LANGUAGE=javascript>
    <!--
    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>刚才没注意看,还有点不一样
      

  7.   

    html代码
    <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]
      

  8.   

    html代码<textarea>
     
    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>
      

  9.   

    <SCRIPT   LANGUAGE=javascript>
    <!--
    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>
    走了  麻烦
      

  10.   

    :D
    可以换种方法嘛
    mingxuan兄运行这些代码后,复制textarea元素里的代码即是答案为了编辑器标签冲突,只能转换一下<textarea style="width:800px;height:500px;">
    &#60;&#100;&#105;&#118;&#62;&#13;&#10;&#91;&#99;&#111;&#100;&#101;&#61;&#34;&#106;&#115;&#34;&#93;&#32;&#13;&#10;&#100;&#111;&#99;&#117;&#109;&#101;&#110;&#116;&#46;&#119;&#114;&#105;&#116;&#101;&#108;&#110;&#40;&#34;&#36825;&#26159;&#31532;&#19968;&#20010;&#67;&#111;&#100;&#101;&#34;&#41;&#59;&#32;&#13;&#10;&#91;&#47;&#99;&#111;&#100;&#101;&#93;&#32;&#13;&#10;&#13;&#10;&#91;&#99;&#111;&#100;&#101;&#61;&#39;&#118;&#66;&#39;&#93;&#32;&#13;&#10;&#100;&#111;&#99;&#117;&#109;&#101;&#110;&#116;&#46;&#119;&#114;&#105;&#116;&#101;&#108;&#110;&#40;&#34;&#36825;&#26159;&#31532;&#20108;&#20010;&#67;&#111;&#100;&#101;&#34;&#41;&#59;&#32;&#13;&#10;&#91;&#47;&#99;&#111;&#100;&#101;&#93;&#32;&#13;&#10;&#13;&#10;&#91;&#99;&#111;&#100;&#101;&#61;&#99;&#35;&#93;&#32;&#13;&#10;&#100;&#111;&#99;&#117;&#109;&#101;&#110;&#116;&#46;&#119;&#114;&#105;&#116;&#101;&#108;&#110;&#40;&#34;&#36825;&#26159;&#31532;&#19977;&#20010;&#67;&#111;&#100;&#101;&#34;&#41;&#59;&#32;&#13;&#10;&#91;&#47;&#99;&#111;&#100;&#101;&#93;&#13;&#10;&#60;&#47;&#100;&#105;&#118;&#62;&#13;&#10;&#60;&#115;&#99;&#114;&#105;&#112;&#116;&#32;&#116;&#121;&#112;&#101;&#61;&#34;&#116;&#101;&#120;&#116;&#47;&#101;&#99;&#109;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#34;&#62;&#13;&#10;&#118;&#97;&#114;&#32;&#103;&#101;&#116;&#86;&#97;&#108;&#32;&#61;&#32;&#102;&#117;&#110;&#99;&#116;&#105;&#111;&#110;&#32;&#40;&#118;&#97;&#108;&#41;&#32;&#123;&#13;&#10;&#47;&#47;&#19981;&#24819;&#29992;&#26367;&#25442;&#30340;&#26041;&#27861;&#65292;&#36825;&#20010;&#26159;&#25429;&#33719;&#30340;&#26041;&#27861;&#65292;&#20854;&#23454;&#37117;&#24046;&#19981;&#22810;&#12290;&#12290;&#12290;&#58;&#68;&#13;&#10;&#9;&#118;&#97;&#114;&#32;&#112;&#97;&#116;&#32;&#61;&#32;&#110;&#101;&#119;&#32;&#82;&#101;&#103;&#69;&#120;&#112;&#40;&#34;&#92;&#92;&#91;&#99;&#34;&#32;&#43;&#32;&#34;&#111;&#100;&#101;&#61;&#40;&#92;&#34;&#40;&#91;&#94;&#92;&#34;&#93;&#42;&#41;&#92;&#34;&#124;&#39;&#40;&#91;&#94;&#39;&#93;&#42;&#41;&#39;&#124;&#91;&#94;&#93;&#93;&#43;&#41;&#92;&#92;&#93;&#40;&#91;&#92;&#92;&#83;&#92;&#92;&#115;&#93;&#42;&#63;&#41;&#92;&#92;&#91;&#92;&#92;&#47;&#99;&#111;&#34;&#32;&#43;&#32;&#34;&#100;&#101;&#92;&#92;&#93;&#34;&#44;&#32;&#34;&#105;&#103;&#34;&#41;&#44;&#32;&#97;&#32;&#61;&#32;&#91;&#93;&#44;&#32;&#98;&#32;&#61;&#32;&#91;&#93;&#44;&#32;&#105;&#32;&#61;&#32;&#48;&#59;&#13;&#10;&#9;&#119;&#104;&#105;&#108;&#101;&#32;&#40;&#112;&#97;&#116;&#46;&#116;&#101;&#115;&#116;&#40;&#118;&#97;&#108;&#41;&#41;&#32;&#123;&#13;&#10;&#9;&#9;&#97;&#91;&#105;&#93;&#32;&#61;&#32;&#39;&#60;&#116;&#101;&#120;&#116;&#97;&#114;&#101;&#97;&#32;&#110;&#97;&#109;&#101;&#61;&#34;&#116;&#120;&#116;&#67;&#111;&#100;&#101;&#34;&#32;&#105;&#100;&#61;&#34;&#116;&#120;&#116;&#67;&#111;&#100;&#101;&#39;&#32;&#43;&#32;&#40;&#105;&#32;&#43;&#43;&#41;&#32;&#43;&#32;&#39;&#34;&#32;&#109;&#121;&#78;&#97;&#109;&#101;&#61;&#34;&#39;&#32;&#43;&#32;&#40;&#98;&#91;&#98;&#46;&#108;&#101;&#110;&#103;&#116;&#104;&#93;&#32;&#61;&#32;&#40;&#82;&#101;&#103;&#69;&#120;&#112;&#46;&#36;&#49;&#32;&#124;&#124;&#32;&#82;&#101;&#103;&#69;&#120;&#112;&#46;&#36;&#50;&#32;&#124;&#124;&#32;&#82;&#101;&#103;&#69;&#120;&#112;&#46;&#36;&#51;&#41;&#41;&#32;&#43;&#32;&#39;&#34;&#62;&#39;&#13;&#10;&#9;&#9;&#9;&#43;&#32;&#82;&#101;&#103;&#69;&#120;&#112;&#46;&#36;&#52;&#13;&#10;&#9;&#9;&#9;&#43;&#32;&#39;&#60;&#92;&#47;&#116;&#101;&#120;&#116;&#97;&#114;&#101;&#97;&#62;&#39;&#59;&#13;&#10;&#9;&#125;&#13;&#10;&#9;&#114;&#101;&#116;&#117;&#114;&#110;&#32;&#123;&#32;&#34;&#118;&#97;&#108;&#34;&#32;&#58;&#32;&#97;&#46;&#106;&#111;&#105;&#110;&#40;&#34;&#92;&#110;&#34;&#41;&#44;&#32;&#97;&#114;&#121;&#32;&#58;&#32;&#98;&#32;&#125;&#59;&#13;&#10;&#125;&#59;&#13;&#10;&#13;&#10;&#119;&#105;&#110;&#100;&#111;&#119;&#46;&#111;&#110;&#108;&#111;&#97;&#100;&#32;&#61;&#32;&#102;&#117;&#110;&#99;&#116;&#105;&#111;&#110;&#32;&#40;&#41;&#32;&#123;&#13;&#10;&#9;&#118;&#97;&#114;&#32;&#111;&#32;&#61;&#32;&#103;&#101;&#116;&#86;&#97;&#108;&#40;&#100;&#111;&#99;&#117;&#109;&#101;&#110;&#116;&#46;&#103;&#101;&#116;&#69;&#108;&#101;&#109;&#101;&#110;&#116;&#115;&#66;&#121;&#84;&#97;&#103;&#78;&#97;&#109;&#101;&#40;&#34;&#100;&#105;&#118;&#34;&#41;&#91;&#48;&#93;&#46;&#105;&#110;&#110;&#101;&#114;&#72;&#84;&#77;&#76;&#41;&#59;&#13;&#10;&#9;&#97;&#108;&#101;&#114;&#116;&#40;&#34;&#20869;&#23481;&#65306;&#92;&#110;&#34;&#32;&#43;&#32;&#111;&#46;&#118;&#97;&#108;&#32;&#43;&#32;&#34;&#92;&#110;&#92;&#110;&#92;&#110;&#34;&#32;&#43;&#32;&#34;&#25968;&#32452;&#65306;&#34;&#32;&#43;&#32;&#111;&#46;&#97;&#114;&#121;&#41;&#59;&#13;&#10;&#125;&#59;&#13;&#10;&#60;&#47;&#115;&#99;&#114;&#105;&#112;&#116;&#62;&#13;&#10;
    </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> 
      

  11.   

    <script>var s="[code=\"js\"] \n"+
    "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>
      

  12.   

    还有第二个问哦var s="[code=\"js\"] \n"+
    "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)
      

  13.   

    str1=" 
    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#"]