Nie wiem jak opisac błąd, więc pokażę funkcję i powiem co sie dzieje. Używam sobie tinyMCE, i podczas inicjacji wywoływana jest taka funkcja:
Kod
function asdf(inst) {
    
    var begin = 'src="';
    var RegExpAllImages = new RegExp('<img[^>]+>', 'g');
    var mached = inst.match(RegExpAllImages);
    var RegExpImgSrc = new RegExp('src="[^"]+"', 'i');  
    var RegExpHttphost = new RegExp('^src="http', 'i');
    var RegExpFirstSlash = new RegExp('^/', 'i');
    //var RegExpReplaceContent = new RegExp('');

    for(var i=0; i<mached.length; i++) {  
      var src = mached[i].match(RegExpImgSrc);
      
      if(RegExpHttphost.test(src) == false) {  
        var srcOrg = src.toString();
        src = srcOrg.substr(14);
        if(RegExpFirstSlash.test(src)) {
          src = begin + '/' + src;
          var toReplace = mached[i].replace(RegExpImgSrc, src);
          inst = inst.replace(new RegExp(mached[i]), toReplace);
        }
      }
    }
    
    return inst;
  }



I podczas gdy użytkownik zmieni treść w tym edytorze wywoływana jest taka
Kod
function myCustomOnChangeHandler(inst) {
    var begin = 'data-mce-src="';
    var content = inst.getBody().innerHTML;
    var RegExpAllImages = new RegExp('<img[^>]+>', 'gi');
    var mached = content.match(RegExpAllImages);
    var RegExpImgSrc = new RegExp('data-mce-src="[^"]+"', 'i');
    var RegExpHttphost = new RegExp('^data-mce-src="http', 'i');
    var RegExpFirstSlash = new RegExp('^/', 'i');

    for(var i=0; i<mached.length; i++) {  
      var src = mached[i].match(RegExpImgSrc);
    
      if(RegExpHttphost.test(src) == false) {  
        var srcOrg = src.toString();
        src = srcOrg.substr(14);
        if(RegExpFirstSlash.test(src)) {
          src = begin + src.substr(1);
          var toReplace = mached[i].replace(RegExpImgSrc, src);
          content = content.replace(new RegExp(mached[i]), toReplace);
          inst.getBody().innerHTML = content;
        }
      }
    }
  }


Obie funkcje mają takie same wyrażenia, ale ta pierwsza wyrzuca błąd w miejscu, gdzie jest pętla a druga działa dobrze. Siedzę na tym od paru godzin i nie mam pomysłu czego to może być wina. Bardzo prosze o pomoc.