Newsgroup: it.comp.lang.visual-basic
Titolo: VB.net FW 3.5 encode entity html

HTMLencode fa veramente poco...nel 3.5 non converte neppure 
l'apostrofo!
Quindi ho pensato di fare il classico sistema
   Public Shared Function HTMLentitiesEncode(testo As String) As String
            Dim ret As New StringBuilder(testo)
            ret.Replace("'", "&#39;")
             .....
            ret.Replace("bla bla ", "&bla bla")
   End Function
L'appetito vien mangiando lo vorrei estendere a à e varie accentate e 
lettere strane (umlaut e via così). Mi serve per fare una INSERT in 
sicurezza da mostrare poi sul web!
 
Nello sterminato framework 3.5 possibile che si debba intervenire 
ancora così...alla vbscript ...per essere sicuri che codifichi tutte le 
entità che vogliamo? Eppure leggo da un giorno doc vari e sembra 
proprio di si!
...ed allora chiedo...che palle scivere tutte le entità...c'è una 
libreria già fatta? Al limite converto il vecchio progetto vb5!
Thanks!
 
-- 
----- Italliaaaaa 3227! -----
Il coraggio ce l'ho. E' la paura che mi frega.
(Totò)
 
 

 HTMLencode fa veramente poco...nel 3.5 non converte neppure l'apostrofo!
 
è curioso perchè neanche javasscript su chrome lo converte.
Interessante :-)
 
.m
 
-- 
blog @ //
milestone.topics.it
 
 
 

 .m
é un bastardo quel coso li..Apostrophe..e purtroppo è usato in 
pareccchi dialetti SQL
 
cmq ho rimaneggiato una vecchia routine in C# di codesource
 
        Public Shared Function HTMLentitiesEncode(testo As String) As 
String
            Dim ret As New StringBuilder(testo.Length)
            Dim valore As Integer
            Dim caratteri() As Char = testo.ToCharArray
            For Each c As Char In caratteri
                valore = Convert.ToInt32(c)
                If (valore > 124) Or _
                    (valore >= 0 And valore <= 47) Or _
                    (valore >= 58 And valore <= 63) Or _
                    (valore >= 94 And valore <= 96) Then
                    ret.AppendFormat("&#{0};", valore)
                Else
                    ret.Append(c)
                End If
            Next
            ret.Append(" TEST:" + Now.ToLongTimeString)
            Return ret.ToString
        End Function
 
ho provato su Chrome che è il più bastardo
ed accoppiata ad una banale
 
        Public Shared Function HTMLentitiesDecode(testo As String) As 
String
            Return HttpContext.Current.Server.HtmlDecode(testo)
        End Function
 
mi ritorna correttamente la stringa formattata
 
quindi ho rimontato il tutto:
Ho una pagina con dentro un controllo da me fatto (un banalissimo 
wrapper a TinyMCE)....scrivo dentro TinyMCE
pippo '='11' Èþ
pippo{|}
aggiungo un po di dati ...schiaccio insert
diventa
INSERT INTO contenuto  (idautore ,metatag ,titolo ,pagrewrite ,data 
,contenuto ) VALUES ('3' ,'s' ,'s' ,'s' ,'2011-11-24' 
,'&#38;amp&#59;amp&#59;lt&#59;p&#38;amp&#59;amp&#59;gt&#59;pippo&#32;&#39;&#61;&#39;11&#39;&#32;&#38;amp&#59;amp&#59;Egrave&#59;&#38;amp&#59;amp&#59;thorn&#59;&#38;amp&#59;amp&#59;lt&#59;&#47;p&#38;amp&#59;amp&#59;gt&#59;&#13;&#10;&#38;amp&#59;amp&#59;lt&#59;p&#38;amp&#59;amp&#59;gt&#59;pippo{|&#125;&#38;amp&#59;amp&#59;lt&#59;&#47;p&#38;amp&#59;amp&#59;gt&#59; 
TEST:11.35.09')
e sqlite non si incazza...memorizza tranquillamente....e un banale 
response.write lo visualizza pure corretto(ci mancherebbe)!
 
PERO' CHE FATICA! ....e che perdita di tempo!
Vabbe...coffe break!
 
-- 
----- Italliaaaaa 3227! -----
Soldato Joker, cosa ci fa il soldato Palla di Lardo con quel fucile in 
mano nel mio fottutissimo bagno?
 
Sergente Artman [ da: "Full Metal Jacket" ]