Avatar billede krogstrup Nybegynder
10. juli 2000 - 16:20 Der er 11 kommentarer og
1 løsning

Problemer med specialtegn i database...

Er der nogen der har en funktion, de bruger til at udskifte alle irriterende specialtegn med, før de enten vises på en side, eller gemmes i en database ???

Jeg tænker på tegn, der giver problemer i forhold til ASP koden og HTML koden såsom:

'
"
<
>

Der er sikkert mange andre der kan fucke koden op! Der må være mange andre end mig der har haft et sådant problem før. Er der ikke nogen der har en function man kan kværne al teksten igennem inden man viser database indholdet... ???
Avatar billede lp Nybegynder
10. juli 2000 - 16:30 #1
du kan bruge:

tekst=Replace(tekst,"'","''''")
" er ikke noget problem.....

du kan fjerne < og > ved at replace dem med ingenting:

tekst=Replace(tekst,"<","")
tekst=Replace(tekst,">","")

/LP
Avatar billede krogstrup Nybegynder
10. juli 2000 - 17:16 #2
lp >>>

Lad mig forklare dig mit problem med "

Jeg henter info fra en database og putter den ind i en variabel. Denne variabel skal udgøre et input-felts værdi. Dvs. at hvis database feltet indeholder " kommer min input kode til at se således ud:

<input type="text" size="20" value="Bla bla bla og "Bla"">

Det fungerer IKKE !!!

Min value bliver cuttet efter "og" - altså får jeg ikke min sidste "Bla" med....
Avatar billede lp Nybegynder
10. juli 2000 - 17:19 #3
så må du bare lave den om til en andet tegn, fx:

tekst=Replace(tekst,""","'")

Avatar billede krogstrup Nybegynder
10. juli 2000 - 17:45 #4
Ved brug af følgende funktion:

<% Function FormatStr(String)
    on Error resume next
    String = Replace(String,""","'")
    FormatStr = String
End Function %>

får jeg følgende fejl:

Fejltype:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A03EE)
Tegnet ')' var ventet
/includes/asp/formatString.inc, line 3, column 29
String = Replace(String,""","'")
----------------------------^
Avatar billede lp Nybegynder
10. juli 2000 - 17:48 #5
ehhhm, er det ikke fordi din streng er tom?
Avatar billede krogstrup Nybegynder
10. juli 2000 - 17:49 #6
Nej, min streng er ikke tom !
Avatar billede erikjacobsen Ekspert
10. juli 2000 - 20:04 #7
Altså.... Hvis man i ASP skal erstatte " med ' skal man skrive

  String = Replace(String,"""","'")

Men hvorfor dog være så primitiv. Hvis der står " i databasen skal der for atten blå tidsler da også
stå " i indtastningsfeltet - ikke også, amatører ;-)) Og ligefrem fjerne < og > bare fordi de giver problemer.
Altså.... ;-))

Hvis du vil gøre det selv skal du

  String = Replace(String,"&","&amp;")
  String = Replace(String,""","&quot;")
  String = Replace(String,"<","&lt;")
  String = Replace(String,">","&gt;")

Avatar billede erikjacobsen Ekspert
10. juli 2000 - 20:05 #8
Hov """ skal være """"
Avatar billede krogstrup Nybegynder
11. juli 2000 - 08:29 #9
erikjacobsen >>>

Jeg takker mange gange for hjælpen og poster hermed den endelige funktion:

<% Function FormatStr(String)
    on Error resume next
    String = Replace(String,"&","&amp;")
    String = Replace(String,"""","&quot;")
    String = Replace(String,"<","&lt;")
    String = Replace(String,">","&gt;")   
    FormatStr = String
End Function %>
Avatar billede erikjacobsen Ekspert
11. juli 2000 - 09:28 #10
Ok - så kommer den store, store overraskelse: ASP kan selv - naturligvis - og det hedder

  String = Server.HTMLEncode(String);

Den ved lige præcis hvilke tegn der er farlige  ;-)
Avatar billede krogstrup Nybegynder
11. juli 2000 - 10:06 #11
Fornemmer jeg en smule patronisering i din stemme Erik ???
Avatar billede erikjacobsen Ekspert
11. juli 2000 - 20:45 #12
Pater.., øh, Patru..., øh, Patrom..., øh.... Næh, det tror jeg ikke. Jeg skal fortælle
dig det med sikkerhed når jeg finder ud af hvad det betyder. Næh, forklaringen
er såmænd bare at jeg er i sommerferiedrillehumør - ikke overfor dig, krogstrup,
men overfor de andre svarere. Har vi det ikke sjovt ;-))
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