Avatar billede copeland Nybegynder
15. maj 2002 - 00:36 Der er 4 kommentarer og
1 løsning

Replace i udvalgte tags

Er der nogen der har en idé til hvordan jeg kan lave en replace af udvalgte atributter i tags i en streng.

eks.

MyString=request("strText")
MyString=replace(MyString,"border=1","border=0")

Nu er det så sådan at den kun skal gører det i <IMG> taget....!

her køres replace:
<IMG src=MitBilled.gif border=1>

her køres replace IKKE:
<TABLE border=1>

Hvordan kan man det?


hilsen
Anne
Avatar billede gryn Nybegynder
15. maj 2002 - 00:57 #1
<%
Function GRYNET(TheTextMessage)
  teksten = TheTextMessage

  teksten = Replace(TheText, "<img", "<img")
  teksten = Replace(TheText, "<IMG", "<img")
  teksten = Replace(TheText, "<imG", "<img")
  teksten = Replace(TheText, "<iMg", "<img")
  teksten = Replace(TheText, "<Img", "<img")
  teksten = Replace(TheText, "<iMG", "<img")
  teksten = Replace(TheText, "<IMg", "<img")
  teksten = Replace(TheText, "<ImG", "<img")

  IMG = Split(teksten, "<img")
  For I = 0 to UBound(IMG)
  If I > 0 then
    ImgLen = InStr(1, IMG(I), " ", vbTextCompare)
    If ImgLen = 0 Then
    ImgLen = Len(IMG(I))
    Else
    ImgLen = ImgLen - 1
    End If
    TheIMG = mid(IMG(I), 1, ImgLen)
    Replace(TheIMG, tolowecase("border=""1"""), "border=""0""")
    Replace(TheIMG, tolowecase("border=""2"""), "border=""0""")
    Replace(TheIMG, tolowecase("border=""3"""), "border=""0""")
    Replace(TheIMG, tolowecase("border=""4"""), "border=""0""")
    Replace(TheIMG, tolowecase("border='1'"), "border=""0""")
    Replace(TheIMG, tolowecase("border='2'"), "border=""0""")
    Replace(TheIMG, tolowecase("border='3'"), "border=""0""")
    Replace(TheIMG, tolowecase("border='4'"), "border=""0""")
    IMG(I) = Replace(IMG(I), TheIMG, "<img" & TheIMG)
  End If
  Next

  ConvertText = Join(IMG)

end function
%>

Det er utestet.
Jeg har lavet en URL-highlighter-funktion lidt om. Håber det kan bruges.
Avatar billede gryn Nybegynder
15. maj 2002 - 01:01 #2
Unskyld... lille rettelse


<%
Function GRYNET(TheTextMessage)
  teksten = TheTextMessage

  teksten = Replace(TheText, "<img", "<img")
  teksten = Replace(TheText, "<IMG", "<img")
  teksten = Replace(TheText, "<imG", "<img")
  teksten = Replace(TheText, "<iMg", "<img")
  teksten = Replace(TheText, "<Img", "<img")
  teksten = Replace(TheText, "<iMG", "<img")
  teksten = Replace(TheText, "<IMg", "<img")
  teksten = Replace(TheText, "<ImG", "<img")

  IMG = Split(teksten, "<img")
  For I = 0 to UBound(IMG)
  If I > 0 then
    ImgLen = InStr(1, IMG(I), " ", vbTextCompare)
    If ImgLen = 0 Then
    ImgLen = Len(IMG(I))
    Else
    ImgLen = ImgLen - 1
    End If
    TheIMG = mid(IMG(I), 1, ImgLen)
    Replace(TheIMG, lcase("border=""1"""), "border=""0""")
    Replace(TheIMG, lcase("border=""2"""), "border=""0""")
    Replace(TheIMG, lcase("border=""3"""), "border=""0""")
    Replace(TheIMG, lcase("border=""4"""), "border=""0""")
    Replace(TheIMG, lcase("border='1'"), "border=""0""")
    Replace(TheIMG, lcase("border='2'"), "border=""0""")
    Replace(TheIMG, lcase("border='3'"), "border=""0""")
    Replace(TheIMG, lcase("border='4'"), "border=""0""")
    IMG(I) = Replace(IMG(I), TheIMG, "<img" & TheIMG)
  End If
  Next

  ConvertText = Join(IMG)

end function
%>
Avatar billede gryn Nybegynder
15. maj 2002 - 01:01 #3
Jeg roder rundt... et øjeblik mere.
Avatar billede gryn Nybegynder
15. maj 2002 - 01:04 #4
<%
Function GRYNET(TheTextMessage)
  teksten = TheTextMessage

  teksten = Replace(TheText, "<img", "<img")
  teksten = Replace(TheText, "<IMG", "<img")
  teksten = Replace(TheText, "<imG", "<img")
  teksten = Replace(TheText, "<iMg", "<img")
  teksten = Replace(TheText, "<Img", "<img")
  teksten = Replace(TheText, "<iMG", "<img")
  teksten = Replace(TheText, "<IMg", "<img")
  teksten = Replace(TheText, "<ImG", "<img")

  IMG = Split(teksten, "<img")
  For I = 0 to UBound(IMG)
  If I > 0 then
    ImgLen = InStr(1, IMG(I), " ", vbTextCompare)
    If ImgLen = 0 Then
    ImgLen = Len(IMG(I))
    Else
    ImgLen = ImgLen - 1
    End If
    TheIMG = mid(IMG(I), 1, ImgLen)
TheIMG = lcase(TheIMG)
    Replace(TheIMG, "border=""1""", "border=""0""")
    Replace(TheIMG, "border=""2""", "border=""0""")
    Replace(TheIMG, "border=""3""", "border=""0""")
    Replace(TheIMG, "border=""4""", "border=""0""")
    Replace(TheIMG, "border='1'", "border=""0""")
    Replace(TheIMG, "border='2'", "border=""0""")
    Replace(TheIMG, "border='3'", "border=""0""")
    Replace(TheIMG, "border='4'", "border=""0""")
    IMG(I) = Replace(IMG(I), TheIMG, "<img" & TheIMG)
  End If
  Next

  ConvertText = Join(IMG)

end function
%>
Avatar billede doc404 Novice
15. maj 2002 - 01:56 #5
hmm...

Intentionen med at forsøge at fange alle varianter af <IMG er god nok, men hvorfor ikke bare bruge

teksten = Replace(TheText, "<img", "<img",1,-1,1)

som laver en textual compare...

...

Det ville måske være nemmere at bruge RegExp objected
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