Ciao a tutti
Rieccomi con uno dei soliti dubbi che mi porto dietro. Ve lo proporrei, per favore.
Ho la home d'un sito (sempre quello per cui avevo già mostrato altri dubbi, nei mesi passati) nella quale vengono visualizzate delle news a rotazione, ad ogni nuovo accesso. Esse vengono recuperate da un file xml composto così:
Il problema che si è proposto ora è il desiderio di visualizzare soltanto l'immagine delle news seguite da un link (il solito Leggi tutto..) che dovrebbe rimandare alla lettura completa della news.
Il dubbio che ho è che mi blocca è che l'inserimento delle news avviene attraverso l'fckeditor. Con esso le immagini ed il testo della news vengono salvate, appunto, insieme all'interno del tag <newscontent> nel file xml sopracitato e, quindi (vista la mia incapacità), quando valorizzo la label, che visualizzerò sulla home, con la stringa contenente tutto il tag <newscontent> verrà visualizzata si, l'immagine, seguita però dal relativo testo.
Questo che segue è, appunto, il codice dove valorizzo tale label:
newscontent.Text = dvDetails(rowIndex)("newscontent").ToString
Mi chiedevo, quindi, come potessi ovviare a tale ostacolo che si è creato.
Ho provato a guardare qualche thread, relativo alle stringhe (per esempio questo: http://www.dotnethell.it/forum/messages.aspx?ThreadID=137) ma non mi è molto chiaro se possa applicare tale suggerimento anche alla mia situazione.
Ci sarà un barbatrucco, che proprio mi sfugge purtroppo, per poter evidenziare solo parte della stringa, fino alla chiusura del tag relativo all'img (quindi visualizzando solo l'immagine e non anche il testo della news), per favore? Chessò, un replace che, quando si trova la chiusura del tag immagine - questo, />, per intenderci - tronchi il resto della stringa. Sogno ad occhi aperti?
Grazie a tutti.
Ciao.
EDIT: ho risolto, per fortuna. Non conoscevo l'esistenza, almeno teorica (è solo una delle tante cose che mi sfuggono), delle regular expressions.
Questo è ciò che ha risolto il mio problema:
content = dvDetails(rowIndex)("newscontent").ToString
Dim r As Regex
r = New Regex("(/>)")
Dim s() As String = r.Split(content)
newscontent.Text = s(0) + "/>"
In parole povere, quando nella stringa vengono trovati i seguenti caratteri (/>), viene splittata in un array. Al primo elemento dello stesso, aggiungo la chiusura del tag, in modo tale da far visualizzare correttamente l'immagine e puff, per magia, un problema in meno.