15. marts 2001 - 10:01Der er
2 kommentarer og 1 løsning
Replace flere forskellige ord - måske Array?!?
Den function replacer blot to mellemrum med et enkelt.
Men jeg vil gerne have den til at replace en masse ord med ingenting, kan jeg definere hvilke ord jeg gerne vil have erstattet f.eks. i et array (er, og, vi, der, her ovs...) med det antal ord som det mig lyster??
(input) er f.eks. en tekststreng på 1000 tegn function DobSpace(input) { out = \" \"; // replace this add = \" \"; // with this temp = \"\" + input; // temporary holder while (temp.indexOf(out)>-1) { pos= temp.indexOf(out); temp = \"\" + (temp.substring(0, pos) + add + temp.substring((pos + out.length), temp.length)); } return temp; }
function multi_replace( original, replace_table ) { var result = original;
for (var i = 0; i < replace_table.length; i = i+2) { var regex = new RegExp( replace_table[i], \"g\" ); result = result.replace( regex, replace_table[i+1] ); }
return result; }
Den bruges således:
var replace_table = new Array( \"org1\", \"*r1*\", \"org2\", \"*r2*\" ); var original = \"bla org1 bli org2 jiorg2 org1 bjbjb\";
I replacement er alle forekomster af \"org1\" erstattet med \"*r1*\" og alle forekomster af \"org2\" erstattet af \"*r2*\". Array\'et replace_table kan udvides efter behov.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.