Avatar billede internet Nybegynder
19. april 2004 - 20:09 Der er 12 kommentarer og
1 løsning

escape HTML-kode

Hej.
Jeg har en link funktion på adressen http://www.emilchristiansen.dk/link/option1.asp . Mit problem er at
hvis jeg nu opretter et nyt link, så kan jeg skrive noget HTML i
beskrivelsen, og det html bliver så sat ind på din side som HTML. Det betyder at alle og enhver faktisk kan skrive HTML på min links side.

Jeg har brug for hjælp til en fuktion, som kører både url,
titel og beskrivelse igennem en funktion der laver HTML-tegn om til nogle koder så de bare bliver vist. 

Det den skal gøre er (i den
rækkefølge):
Erstat alle & med &
Erstat alle " med "
Erstat alle < med &lt;

tak for hjælpen.
ps. hvis I har brug for koden til links "fuktionen", kan den ses på  http://www.eksperten.dk/spm/482359?Esession=f9af1645234ab443b33811a1d2cbe795
Avatar billede internet Nybegynder
19. april 2004 - 20:11 #1
Fuktionen skal selvfølgelig også: Erstat alle > med &gt;
Avatar billede eagleeye Praktikant
19. april 2004 - 20:12 #2
Hvorfor bruge du ikke Server.HTMLEncode som "ødelægger" HTML koden sådan den ikke kan udføres men vises som teskt.

text = " noget tekst < og & og > "
text = Server.HTMLEncode(text)
Avatar billede eagleeye Praktikant
19. april 2004 - 20:15 #3
Eller kan du bruge replace i en funktion:

function fixString(str)
fixString = replace(str, "&", "&amp;")
fixString = replace(fixString, """", "&quot;")
fixString = replace(fixString, ">", "&lt;")
end function


text = " noget tekst < og & og > "
text = fixString(text)
Avatar billede internet Nybegynder
19. april 2004 - 20:18 #4
Hvor skal den kode, som du har foreslået så tilføjes henne, jeg har brug for at Du fortælle meget precis hvor den skal tilfjes henne, og hvilken fil. Jeg er for meget begynder, til at forstå den kode der.
Avatar billede eagleeye Praktikant
19. april 2004 - 20:24 #5
Der er to alternativer enten replace før man gemmer i databasen eller når man udskriver til siden.

Hvis du bruge server.HTMLEncode og replacer når man udskriver siden kan det tilføjes i din fil option1.asp og rette disse linjer:

            While Not objRS.EOF

        Response.Write "<tr bgcolor="""& strBGColor &"""><td valign=top width=""20%"" align=left>" & vbCrLf
        Response.Write "<a href=""clickcount.asp?id=" & objRS("ID") & Chr(34) & " target=""_blank"">"
        Response.Write objRS("Name")
        Response.Write "</a>" & vbCrLf
        Response.Write "</td><td width=""20%"" valign=bottom align=left>" & vbCrLf
        Response.Write objRS("Des") & vbCrLf
        Response.Write "</td><td width=""10%"" valign=top align=center>" & vbCrLf
        Response.Write objRS("Hits") & vbCrLf
                Response.Write "</td></tr>"


        objRS.MoveNext
    Wend



Til disse:


            While Not objRS.EOF

        Response.Write "<tr bgcolor="""& strBGColor &"""><td valign=top width=""20%"" align=left>" & vbCrLf
        Response.Write "<a href=""clickcount.asp?id=" & objRS("ID") & Chr(34) & " target=""_blank"">"
        Response.Write Server.HTMLEncode(objRS("Name"))
        Response.Write "</a>" & vbCrLf
        Response.Write "</td><td width=""20%"" valign=bottom align=left>" & vbCrLf
        Response.Write Server.HTMLEncode(objRS("Des")) & vbCrLf
        Response.Write "</td><td width=""10%"" valign=top align=center>" & vbCrLf
        Response.Write objRS("Hits") & vbCrLf
                Response.Write "</td></tr>"


        objRS.MoveNext
    Wend
Avatar billede internet Nybegynder
19. april 2004 - 20:46 #6
Den virker fint i Internet Explorer, men i Mozilla Firefox dur den ikke, selve scriptet dur fint, men linksne går ud over kanten, beregnet til indhold. Hvad kan jeg gøre, ved det???
Avatar billede eagleeye Praktikant
19. april 2004 - 20:49 #7
Det vist et problem med selve HTML koden og ikke funktionen.
Avatar billede eagleeye Praktikant
19. april 2004 - 20:55 #8
umiddelbart mangler der </td></tr> efter dette:

<tr><td width="20%" align=left>
Site name :
</td><td width="50%" align=center>
description :
</td><td width="10%" align=center>
Hits :



Sådan her:

<tr><td width="20%" align=left>
Site name :
</td><td width="50%" align=center>
description :
</td><td width="10%" align=center>
Hits :
</td></tr>
Avatar billede eagleeye Praktikant
19. april 2004 - 20:59 #9
Dine procenter giver heller ikke 100:  20+50+10 = 80
for de efterfølgende kolonner: 10+10+5=25

De skulle helt være det samme for dem alle og gerne give 100:

<tr><td width="30%" align=left>
Site name :
</td><td width="50%" align=center>
description :
</td><td width="20%" align=center>
Hits :
</td></tr>


og koden som udskriver:


            While Not objRS.EOF

        Response.Write "<tr bgcolor="""& strBGColor &"""><td valign=top width=""30%"" align=left>" & vbCrLf
        Response.Write "<a href=""clickcount.asp?id=" & objRS("ID") & Chr(34) & " target=""_blank"">"
        Response.Write Server.HTMLEncode(objRS("Name"))
        Response.Write "</a>" & vbCrLf
        Response.Write "</td><td width=""50%"" valign=bottom align=left>" & vbCrLf
        Response.Write Server.HTMLEncode(objRS("Des")) & vbCrLf
        Response.Write "</td><td width=""20%"" valign=top align=center>" & vbCrLf
        Response.Write objRS("Hits") & vbCrLf
                Response.Write "</td></tr>"


        objRS.MoveNext
    Wend
Avatar billede internet Nybegynder
19. april 2004 - 21:05 #10
Undskyld, men nu ser min kode sådan ud, er det ikke rigtigt?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>

    <title>:: emilchristiansen.dk ::</title>
  <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1">
  <meta http-equiv="Content-Style-Type" content="text/css">
   
<!-- #include file="database.asp" -->
<!-- #include file="dateformater.asp" -->
</head>

<body>
<!--#INCLUDE FILE="../top.asp" -->

<div id="indhold">


    <h1>Links</h1>
<p>OBS. sorteret efter HITS</p>
<p>Add your link <a href="option2.asp">click here</a></p>
<p>
      <%
Dim objRS

Set objRS = OpenDataBase("../../database/addlink.mdb", "SELECT * FROM link ORDER BY Hits DESC")
If (Not objRS.BOF) And (Not objRS.EOF) Then
    objRS.MoveFirst
    Response.Write "<table class=""FT"" align=center cellspacing=0 cellpadding=0 border=0>" & vbCrLf
    Response.Write "<tr><td width=""30%"" align=left>" & vbCrLf
    Response.Write "Site name :" & vbCrLf
    Response.Write "</td><td width=""50%"" align=center>" & vbCrLf
    Response.Write "description :" & vbCrLf
    Response.Write "</td><td width=""20%"" align=center>" & vbCrLf
    Response.Write "Hits :" & vbCrLf
    Response.Write "</td></tr>" & vbCrLf
            While Not objRS.EOF

    If blnBGColor = True Then
      strBGColor = "#FFFFFF"
      blnBGColor = False
    Else
      strBGColor = "#ECE9D8"
      blnBGColor = True
    End If

        Response.Write "<tr bgcolor="""& strBGColor &"""><td valign=top width=""30%"" align=left>" & vbCrLf
        Response.Write "<a href=""clickcount.asp?id=" & objRS("ID") & Chr(34) & " target=""_blank"">"
        Response.Write Server.HTMLEncode(objRS("Name"))
        Response.Write "</a>" & vbCrLf
        Response.Write "</td><td width=""50%"" valign=bottom align=left>" & vbCrLf
        Response.Write Server.HTMLEncode(objRS("Des")) & vbCrLf
        Response.Write "</td><td width=""20%"" valign=top align=center>" & vbCrLf
        Response.Write objRS("Hits") & vbCrLf
                Response.Write "</td></tr>"


        objRS.MoveNext
    Wend
    Response.Write "</table>" & vbCrLf
Else
    Response.Write "No links found in the database.<br>" & vbCrLf
End If

objRS.Close
Set objRS = Nothing

%>
</p>
  </div>

</body>
</html>
Avatar billede eagleeye Praktikant
19. april 2004 - 21:18 #11
Det ved jeg næsten ikke så, måske du skulle sprøge i HTML kategorien omkring det problem..

Men det måske noget med denne:

      <table class="FT" align=center cellspacing=0 cellpadding=0 border=0>

Hvad står der i class'en FT omkring størrelse?
Avatar billede internet Nybegynder
19. april 2004 - 21:21 #12
eagleeeye, poster du li' et svar.
Avatar billede eagleeye Praktikant
19. april 2004 - 21:53 #13
Ja det gør jeg da gerne :)
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