Cybaer: encodeURIComponent für ältere Browser

Beitrag lesen

Hi,

weiss einer, ob es vielleicht irgendwo eine bereits geschriebene Funktion gibt, die die Aufgabe von encodeURIComponent() übernimmt?
(brauche mit codierung von / ? = etc.)

Ei selbstverfreilich:

function escapeAll(string) {
 string=escape(string);
 string=rc(string,"*","%2A");
 string=rc(string,"+","%2B");
 string=rc(string,"-","%2D");
 string=rc(string,".","%2E");
 string=rc(string,"/","%2F");
 string=rc(string,"@","%40");
 string=rc(string,"_","%5F");
 return string;
}

Und, ach ja:

function rc(text,chars,subs,insensitive) {
 if(chars) {
  var i, work, result="", start=0; subs=(subs)?subs:"";
  if(insensitive) {
   work=text.toLowerCase();
   chars=chars.toLowerCase();
  } else {
   work=text;
  }
  i=work.indexOf(chars,start);
  while(i>=0) {
   result+=text.substring(start,i)+subs;
   start=i+chars.length;
   i=work.indexOf(chars,start);
   if(!i) {
    break;
   }
  }
  result+=text.substring(start,text.length);
  return result;
 } else {
  return text;
 }
}

Jetzt läuft's ab JavaScript 1.0 ... 8-)

Gruß, Cybaer

--
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!