Avatar billede monkeysee Nybegynder
31. januar 2004 - 21:26 Der er 8 kommentarer og
1 løsning

regexp driller (igen)

jeg har en funktion som virker, på min side, men har også brug for en alternativ udgave.

Her er det mærkelige:

det flg. script virker hvis min string stammer fra en <input> value

<code>
strRe=document.forms(0).D1.options(1).value
</code>

men ikke hvis jeg giver værdien som almindelig string???

<code>
var strRe='<BODY[\s\S]*onload=[\"]?([^\>]*init\(\);)'
</code>

De to indeholder nøjagtigt det samme?! her er resten af scriptet, htmldata er variablen som indeholder vores data.


<code>
re = new RegExp(strRe,'gi')
while ((reArr = re.exec(htmldata)) != null) {
htmldata = htmldata.replace(reArr[1], "");
}
</code>
...som gerne skulle slette definitionen af en onload() begivenhed indtil den støder på udtrykket "init()"...

strange...
Avatar billede roenving Novice
31. januar 2004 - 21:35 #1
Prøv at alerte på den value, du får fra .value og sammen lign den tegn for tegn ...

-- og hvorfor assigner du med en while-løkke, hvorfor bruger du ikke bare:

re = new RegExp(strRe,'gi')
reArr = re.exec(htmldata);
if(reArr!= null){
htmldata = htmldata.replace(reArr[1], "");
}

-- så kan du også studere den i de tilfælde hvor den virker, og der hvor den ikke virker !-)
Avatar billede monkeysee Nybegynder
31. januar 2004 - 22:05 #2
hej roervig og tak for hurtigt svar det var en god ide. Måske har jeg siddet for meget med serverside kode, for det kunne man da og årsagen var at jeg skal huske at dobbelt-escape \\ alle slashes i min streng...
Avatar billede monkeysee Nybegynder
31. januar 2004 - 22:05 #3
(svar for point's)
Avatar billede roenving Novice
31. januar 2004 - 22:07 #4
Velbekomme '-)
Avatar billede monkeysee Nybegynder
31. januar 2004 - 22:11 #5
I øvrigt var koden udfrittet fra et script for overskuelighedens skyld, og derfor den (tilsyneladende) unødvendige while-løkke.

points !
Avatar billede monkeysee Nybegynder
31. januar 2004 - 22:12 #6
(hmmm...du får nok point senere...det virker tilsyneladende ikke lige nu?)
Avatar billede roenving Novice
31. januar 2004 - 22:16 #7
-- jo, sikkert, men E* v4 kræver at man markerer en bruger, man vil give points, også selvom der ikke er andre muligheder !-)

Igen - igen '-}
Avatar billede monkeysee Nybegynder
01. februar 2004 - 01:04 #8
Avatar billede roenving Novice
16. juni 2005 - 12:26 #9
-- og tak for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester