Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > распарсить HTML+JS, превратив все в JS


Автор: szz 10.7.2007, 00:18
Решение http://forum.vingrad.ru/index.php?showtopic=162701&view=findpost&p=1190446
Код

echo = document.write;
//-----------------------------------------------------------------------
pg_parse = function(t){
        var _ch1 = '</script>', _ch2 = '<script>';
        var cnt = t;
        if(cnt.startsWith(_ch2))
            cnt = cnt.substr(_ch2.length);
        if(cnt.endsWith(_ch1))
            cnt = cnt.substr(0, cnt.length-_ch2.length-1);
            
        var ii=0, iii=0, ij=0, ijp=0, cn='';
        for(var i=0; i<cnt.length;++i){
            if((ii=cnt.indexOf(_ch1, i))!=-1){
                if((ij = cnt.indexOf(_ch2, ii))==-1){
                    alert('Runtime error:\nCannot find a second HEREDOC pair.');
                    return;
                }
                iii=ii+_ch1.length;
                cn +=    cnt.substr(ijp, ii-ijp)+
                        ' echo("'+
                          (cnt
                            .substr(iii, (ij)-(iii))
                            .split('"').join('\\\"')
                            .split('[[').join('"+(')
                            .split(']]').join(')+"')
                            .split('\n').join('\\n"+\n"')
                           )+
                        '"); \n';
                i= (ijp = ij+_ch2.length)-1;
            }else{
                cn +=cnt.substr(i);
                break;
            }
        }
        cnt=cn;
        return cnt;
}


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)