ActionScript意外的斜杠、括号和扭曲的括号?

ActionScript意外的斜杠、括号和扭曲的括号?,actionscript,Actionscript,我花了几天时间编写的这个ActionScript代码现在在JavaScript中可以100%正常工作,但当我尝试在ActionScript中编译它时,它会说我有意外的/,)和}符号。这个语法是否错误?如果是,我应该如何修复它?我想我可以用Javascript来测试它,以便更快地使用=( var txt=“这是一个[rainbow]测试,表明我可以[rainbow]让我想要的任何东西[rainbow]看起来像彩虹[/rainbow],因为我是[rainbow]很棒的[/rainbow]。”; 如果

我花了几天时间编写的这个ActionScript代码现在在JavaScript中可以100%正常工作,但当我尝试在ActionScript中编译它时,它会说我有意外的/,)和}符号。这个语法是否错误?如果是,我应该如何修复它?我想我可以用Javascript来测试它,以便更快地使用=(

var txt=“这是一个[rainbow]测试,表明我可以[rainbow]让我想要的任何东西[rainbow]看起来像彩虹[/rainbow],因为我是[rainbow]很棒的[/rainbow]。”;
如果((txt.indexOf(“[rainbow]”)大于-1)和(&(txt.indexOf([/rainbow]”)大于-1)){
变量颜色=['f0f','f0c','f09','f06','f03','f00','f30','f60','f90','fc0','ff0','cf0','9f0','6f0','3f0','0f0','0f6','0f9','0fc','0ff','0cf','09f','06f','03f','00f','30f','60f','90f','c0f'];
功能rainbowify(文本){
返回文本。替换(/\[rainbow\](.+?)\[\/rainbow\]/g,函数(\,内部){
返回内部。更换(//g,功能(ch,i){
返回“+ch+”;
});
})
}
txt=rainbowify(txt);
document.write(txt);
}​
好吧,就是这样:

    txt = txt.replace("'", "@");
if ((txt.indexOf("[rainbow]") > -1) && (txt.indexOf("[/rainbow]") > -1)) {
    var firstChar = txt.indexOf("[rainbow]") + 9;
    var lastChar = txt.indexOf("[/rainbow]");

    while (lastChar <= txt.lastIndexOf("[/rainbow]")) {
        var RAINBOWTEXT = '';
        var i = firstChar;
        while (i < lastChar) {
            RAINBOWTEXT += txt.charAt(i);
            i++
        }
        var text = RAINBOWTEXT;
        var texty = '';

        colors = new Array('ff00ff','ff00cc','ff0099','ff0066','ff0033','ff0000','ff3300','ff6600','ff9900','ffcc00','ffff00','ccff00','99ff00','66ff00','33ff00','00ff00','00ff33','00ff66','00ff99','00ffcc','00ffff','00ccff','0099ff','0066ff','0033ff','0000ff','3300ff','6600ff','9900ff','cc00ff');

        i = 0;

        while (i <= text.length) {
            var t = text.charAt(i);

            if (t != undefined) {
                texty += "<font color=\"#" + colors[i % colors.length] + "\">" + t + "</font>";
                i++;
            }
        }

        texty = texty.replace("> <", ">&nbsp;<");
        var REPLACEME = "[rainbow]" + RAINBOWTEXT + "[/rainbow]";
        txt = txt.replace(REPLACEME, texty);

        if (lastChar == txt.lastIndexOf("[/rainbow]")) {
            break;
        }
        nextChar = lastChar + 10;
        firstChar = txt.indexOf("[rainbow]", lastChar) + 9;
        lastChar = txt.indexOf("[/rainbow]", lastChar);
    }
}
txt = txt.replace("@", "&apos;");
txt=txt.replace(“&apos;”,“@”);
如果((txt.indexOf(“[rainbow]”)大于-1)和(&(txt.indexOf([/rainbow]”)大于-1)){
var firstChar=txt.indexOf(“[rainbow]”)+9;
var lastChar=txt.indexOf(“[/rainbow]”);

while(lastChar)您使用的是哪个版本的Actionscript?如果是AS2,问题可能是正则表达式,因为AS2没有本机支持。如果必须使用AS2,您仍然可以使用第三方类。从什么时候开始,您可以用javascript编写AS2代码?我从来没有看到过。。。
    txt = txt.replace("&apos;", "@");
if ((txt.indexOf("[rainbow]") > -1) && (txt.indexOf("[/rainbow]") > -1)) {
    var firstChar = txt.indexOf("[rainbow]") + 9;
    var lastChar = txt.indexOf("[/rainbow]");

    while (lastChar <= txt.lastIndexOf("[/rainbow]")) {
        var RAINBOWTEXT = '';
        var i = firstChar;
        while (i < lastChar) {
            RAINBOWTEXT += txt.charAt(i);
            i++
        }
        var text = RAINBOWTEXT;
        var texty = '';

        colors = new Array('ff00ff','ff00cc','ff0099','ff0066','ff0033','ff0000','ff3300','ff6600','ff9900','ffcc00','ffff00','ccff00','99ff00','66ff00','33ff00','00ff00','00ff33','00ff66','00ff99','00ffcc','00ffff','00ccff','0099ff','0066ff','0033ff','0000ff','3300ff','6600ff','9900ff','cc00ff');

        i = 0;

        while (i <= text.length) {
            var t = text.charAt(i);

            if (t != undefined) {
                texty += "<font color=\"#" + colors[i % colors.length] + "\">" + t + "</font>";
                i++;
            }
        }

        texty = texty.replace("> <", ">&nbsp;<");
        var REPLACEME = "[rainbow]" + RAINBOWTEXT + "[/rainbow]";
        txt = txt.replace(REPLACEME, texty);

        if (lastChar == txt.lastIndexOf("[/rainbow]")) {
            break;
        }
        nextChar = lastChar + 10;
        firstChar = txt.indexOf("[rainbow]", lastChar) + 9;
        lastChar = txt.indexOf("[/rainbow]", lastChar);
    }
}
txt = txt.replace("@", "&apos;");