A asp Medlem sedan aug. 2002 733 inlägg Frågan 11 juli 2003 21:51 #1 Hej!
Jag vill ha en function som ersätter vissa tecknen innan jag sparar ned dem i databasen.
function ersatta(str)
str = Replace(str,"ö","o")
str = Replace(str,"ä","a")
str = Replace(str,"å","a")
end function
namn = ersatta(Request.Form("namn"))
epost = ersatta(Request.Form("epost"))
Denna kod ovan fungerar ej. =(
J Josef Medlem sedan mars 2002 3 561 inlägg Function ersatta(str)
str = Replace(str, "ö", "o")
str = Replace(str, "ä", "a")
ersatta = Replace(str, "å", "a")
End Function
namn = ersatta(Request.Form("namn"))
epost = ersatta(Request.Form("epost"))
K K@llen Medlem sedan mars 2003 2 667 inlägg function ersatta(str)
str = Replace(str,"ö","o")
str = Replace(str,"ä","a")
str = Replace(str,"å","a")
[b]ersatta = str[/b]
end function
A asp Medlem sedan aug. 2002 733 inlägg Lite frågor:
1. Gör denna kod så att all html-kod skrivs ut som text förutom de jag vill ersätta?
Function ersatta(str)
str = Replace(str, "[b]", "<b>")
str = Replace(str, "[/b]", "</b>")
str = Replace(str,"''","'")
str = Replace(str,vbCrLf,"<br>")
str = Server.HTMLEncode(str)
str = ersatta
End Function
Sedan när jag vill spara ned så skriver jag detta under funktionen?
rubrik = ersatta(Request.Form("rubrik"))
datum = now()
skribent = ersatta(Request.Form("skribent"))
epost = ersatta(Request.Form("epost"))
hemsida = ersatta(Request.Form("hemsida"))
meddelande = ersatta(Request.Form("meddelande"))
catid = ersatta(Request.Form("catid"))
If Len("rubrik") > 0 Then
SQL = "INSERT INTO Tradar (rubrik, datum, skribent, epost, hemsida, meddelande, catid) VALUES ('" & rubrik & "','" & datum & "','" & skribent & "','" & epost & "','" & hemsida & "','" & meddelande & "','" & catid & "')"
objConn.Execute(SQL)
Response.Write("<b>Sparat</b>")
End if
K K@llen Medlem sedan mars 2003 2 667 inlägg Jag hade gjort replacen vid presentationen med undantag för escapesekvenserna. Sedan har du vänt nedanstående rad bak och fram:
str = ersatta
ska vara
ersatta = str
A asp Medlem sedan aug. 2002 733 inlägg Men i min replace blir ju **<b> och då räknas det som html kod och skrivs därför ut som text men det vill jag ju inte.
hur skall jag göra?**
S solbulle Medlem sedan mars 2001 5 287 inlägg Flytta upp raden:
str = Server.HTMLEncode(str)
inne i din funktion.
A asp Medlem sedan aug. 2002 733 inlägg thanks. men hade redan gjort det. =)
A asp Medlem sedan aug. 2002 733 inlägg Om jag vill vill ignonera all html kod då? Inte skrica ut den som sträng bara ta bort?
S solbulle Medlem sedan mars 2001 5 287 inlägg Regexp skulle jag tro, kanske ett mönster som plockar bort allt mellan < samt >.
Du bör nog kunna hitta något om du söker.
A asp Medlem sedan aug. 2002 733 inlägg Aha, var det så krångligt?
Kan man göra så att den endast visar A-Ö, a-ö samt "!","?" och "." .
M MartinD Medlem sedan juli 2003 22 inlägg En variant är att köra ett reguljärt uttryck som plockar ut alla tecken utom dom tillåtna:
[^A-Z,a-z,!\?\.]
Du får sen ersätta dom med tomrum eller liknande.
Vet ej hur du får det att fungera med åäö men det kan säkert någon annan svara på.