Avatar billede Slettet bruger
03. december 2002 - 15:11 Der er 8 kommentarer

Fjerne <> i en tekst

Jeg skal hente en tekst ud fra en database og sætte den ind i et tekstfelt men teksten der kommer fra databasen indeholder html formatering (<html>) og dette skal jeg have siet væk...

det er et eller andet med replace <> med ingenting men hvordan er det nu lige man skriver det..
Avatar billede webben Nybegynder
03. december 2002 - 15:11 #1
replace(herfraskaldettages,"<>", ""
Avatar billede hyperactive Nybegynder
03. december 2002 - 15:12 #2
nytekst = Replace(gammeltekst, "<", "")
nytekst = Replace(nytekst, ">", "")
Avatar billede webben Nybegynder
03. december 2002 - 15:14 #3
svar herfra :D
Avatar billede humlebidk Nybegynder
03. december 2002 - 15:15 #4
brug:
Server.htmlencode("dintekst")

den fjerner < og > samt " og den transformerer æøå mv til &noget; det er en typisk måde at gøre den slags.
Avatar billede Slettet bruger
03. december 2002 - 15:25 #5
måske kan jeg ikke forstå det...måske har i ikke forstået spørgsmålet???

Når jeg henter min tekst ud fra db kan der fx stå <font size="3">Hejsa</font>

Det jeg gerne vil have skrevet ud er "hejsa"...
Avatar billede Slettet bruger
03. december 2002 - 15:41 #6
altså teksten ikke koden
Avatar billede Slettet bruger
03. december 2002 - 15:42 #7
hyperactive -> hvad mener du med nytekst / gl tekst ?
Avatar billede eagleeye Praktikant
03. december 2002 - 15:49 #8
Jeg har denne function kan fjerne HTML kode helt fra en tekst ikke bare "skade" <> så det ikke tolkes som HTML...:


Function RemoveHTML( strInputText )

  TAGLIST = ";!--;!DOCTYPE;A;ACRONYM;ADDRESS;APPLET;AREA;B;BASE;BASEFONT;" &_
    "BGSOUND;BIG;BLOCKQUOTE;BODY;BR;BUTTON;CAPTION;CENTER;CITE;CODE;" &_
    "COL;COLGROUP;COMMENT;DD;DEL;DFN;DIR;DIV;DL;DT;EM;EMBED;FIELDSET;" &_
    "FONT;FORM;FRAME;FRAMESET;HEAD;H1;H2;H3;H4;H5;H6;HR;HTML;I;IFRAME;IMG;" &_
    "INPUT;INS;ISINDEX;KBD;LABEL;LAYER;LAGEND;LI;LINK;LISTING;MAP;MARQUEE;" &_
    "MENU;META;NOBR;NOFRAMES;NOSCRIPT;OBJECT;OL;OPTION;P;PARAM;PLAINTEXT;" &_
    "PRE;Q;S;SAMP;SCRIPT;SELECT;SMALL;SPAN;STRIKE;STRONG;STYLE;SUB;SUP;" &_
    "TABLE;TBODY;TD;TEXTAREA;TFOOT;TH;THEAD;TITLE;TR;TT;U;UL;VAR;WBR;XMP;" 

  Const BLOCKTAGLIST = ";APPLET;EMBED;FRAMESET;HEAD;NOFRAMES;NOSCRIPT;OBJECT;SCRIPT;STYLE;"
   
  Dim nPos1, nPos2, nPos3
  Dim strResult, strTagName, bRemove, bSearchForBlock
 
  Dim runNo, AttackLimit, strRef
 
  runNo = 1
  AttackLimit = 5
 
  strResult = strInputText
  do
    runNo = runNo + 1
    strRef = strResult
    strText = strRef
    strResult = ""
   
    nPos1 = InStr(strText, "<")
    Do While nPos1 > 0
      nPos2 = InStr(nPos1 + 1, strText, ">")
      If nPos2 > 0 Then
        strTagName = Mid(strText, nPos1 + 1, nPos2 - nPos1 - 1)
        strTagName = Replace(Replace(strTagName, vbCr, " "), vbLf, " ")
        nPos3 = InStr(strTagName, " ")
        If nPos3 > 0 Then
          strTagName = Left(strTagName, nPos3 - 1)
        End If
        If Left(strTagName, 1) = "/" Then
          strTagName = Mid(strTagName, 2)
          bSearchForBlock = False
        Else
          bSearchForBlock = True
        End If   
        If InStr(1, TAGLIST, ";" & strTagName & ";", vbTextCompare) > 0 Then
          bRemove = True
          If bSearchForBlock Then
            If InStr(1, BLOCKTAGLIST, ";" & strTagName & ";", vbTextCompare) > 0 Then
              nPos2 = Len(strText)
              nPos3 = InStr(nPos1 + 1, strText, " 0 Then
                nPos3 = InStr(nPos3 + 1, strText, ">")
              End If
              If nPos3 > 0 Then
                nPos2 = nPos3
              End If
            End If
          End If
        Else
          bRemove = False
        End If
        If bRemove Then
          strResult = strResult & Left(strText, nPos1 - 1)
          strText = Mid(strText, nPos2 + 1)
        Else
          strResult = strResult & Left(strText, nPos1)
          strText = Mid(strText, nPos1 + 1)
        End If
      Else
        strResult = strResult & strText
        strText = ""
      End If
      nPos1 = InStr(strText, "<")
    Loop
    strResult = strResult & strText
 
  loop until (strRef = strResult) OR (runNo = AttackLimit)
 
  if (runNo >= AttackLimit) then
    strResult = "...text removed..."
  end if
  RemoveHTML = strResult
End Function


Kald den sådan her:
Response.write RemoveHTML (rs("kolonnenavn"))
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