Avatar billede uggi16 Nybegynder
01. februar 2008 - 14:59 Der er 9 kommentarer og
1 løsning

Redigering af variabel

Jeg har en variabel der indeholder HTML. I denne HTML står f.eks.:

<script type="text/javascript">
        function frmPaypalSubmit(frm) {
            if (frm.os0.value == '') {   
                alert ('Please enter your domain name');
                return false; 
            }
        }
</script>

Nu vil jeg så gerne vide, hvordan jeg sletter dette JavaScript-kode inden jeg skriver HTMLen ud til klienten. Det jeg leder efter, er altså en funktion der kan slette alt mellem <script type="text/javascript"> og </script>.

Håber der er nogen der kan hjælpe!?
Avatar billede dk_akj Nybegynder
01. februar 2008 - 15:22 #1
str = "blah blah<script type=""text/javascript"">        function frmPaypalSubmit(frm) {            if (frm.os0.value == '') {                    alert ('Please enter your domain name');                return false;              }        }</script> blah blah"

s1 = "<script type=""text/javascript"">"
s2 = "</script>"


p1 = instr(str,s1)
p2 = instr(str,s2)

res = mid(str,1,len(s1) + p1)
res = res & mid(str,p2,len(str) - p2 )

//akj
Avatar billede uggi16 Nybegynder
01. februar 2008 - 15:45 #2
Hej akj! Det ser ud til at virke ... næsten! Jeg har prøvet dette:

----------
str = "hejsa <script type=""text/javascript"">function frmPaypalSubmit(frm) { if (frm.os0.value == '') { alert ('Please enter your domain name'); return false; }}</script>"

s1 = "<script type=""text/javascript"">"
s2 = "</script>"

p1 = instr(str,s1)
p2 = instr(str,s2)

res = mid(str,1,len(s1) + p1)
res = res & mid(str,p2,len(str) - p2 )

response.Write(res)
----------

Resultatet (view source) bliver:
----------
hejsa <script type="text/javascript">f</script
----------
hvilket giver en fejl! Kan du hjælpe?
Avatar billede dk_akj Nybegynder
01. februar 2008 - 19:49 #3
har lige rykket det hele et hak.

//akj

str = "hejsa <script type=""text/javascript"">function frmPaypalSubmit(frm) {

if (frm.os0.value == '') { alert ('Please enter your domain name'); return

false; }}</script>"

s1 = "<script type=""text/javascript"">"
s2 = "</script>"

p1 = instr(str,s1)
p2 = instr(str,s2)

res = mid(str,1,len(s1) + p1 - 1)


res = res & mid(str,p2,len(str) - p2  + 1)

response.write res


//akj
Avatar billede nielle Nybegynder
01. februar 2008 - 20:07 #4
En alternativ løsning:

str = "hejsa <script type=""text/javascript"">function frmPaypalSubmit(frm) { if (frm.os0.value == '') { alert ('Please enter your domain name'); return false; }}</script>"

Set re = New RegExp
With re
    .Pattern = "<script type=""text/javascript"">.*?</script>"
    .IgnoreCase = True
    .Global = True
End With

str = re.replace(str, "")
Avatar billede uggi16 Nybegynder
04. februar 2008 - 10:55 #5
dk_akj > det virker, tak for hjælpen
Avatar billede uggi16 Nybegynder
04. februar 2008 - 10:56 #6
dk_akj > smider du lige et svar :D
Avatar billede nielle Nybegynder
11. februar 2008 - 18:26 #7
dk_akj > Du er blevet bedt om at lægge et svar :^)


uggi16 > Hvis det er en krav at der skal stå en:

<script type="text/javascript"></script>

tilbage bagefter (hvorfor?) så kan det gøres med denne variant:

str = "hejsa <script type=""text/javascript"">function frmPaypalSubmit(frm) { if (frm.os0.value == '') { alert ('Please enter your domain name'); return false; }}</script>"

Set re = New RegExp
With re
    .Pattern = "<script type=""text/javascript"">.*?</script>"
    .IgnoreCase = True
    .Global = True
End With

str = re.replace(str, "<script type=""text/javascript""></script>")
Avatar billede dk_akj Nybegynder
12. februar 2008 - 10:03 #8
Jamen så er der da et svar her.

//akj
Avatar billede uggi16 Nybegynder
13. februar 2008 - 08:42 #9
nielle > Grunden til at jeg skulle bruge <script type="text/javascript"></script> tilbage på siden er at jeg skal bruge noget Javascript på en side og kun noget af det på en anden side, derfor deler jeg det op i to så jeg kan fjerne det ene når der er brug for det før siden indlæses af brugeren.

Så opstår der heller ikke fejl :D

dk_akj > jeg takker for hjælpen, du har gjort en af vores kunder glade, da vi leverede hjemmesiden til tiden pga. din løsning :D

Tak for denne gang.
Avatar billede dk_akj Nybegynder
14. februar 2008 - 10:44 #10
Det gør mig meget mere glad at høre en pts :-)

//akj
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
Kurser inden for grundlæggende programmering

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