Info su testo a capo

mercoledì 18 giugno 2008 - 15.12

ertulio Profilo | Senior Member

Salve, visualizzo in delle tabelle il contenuto del db tramite questo codice

Prodotto.InnerText = CType(DataBinder.Eval(dr, "[Prodotto]"), String)


vorrei che però il testo vada a capo quando incontra determinate parole. Come posso fare?

grazie
http://www.risorsefantacalcio.it

Risorse per tutti gli appassionati di fantacalcio da cui prelevare news, probabili formazioni, voti del corriere e gazzetta e tanhto altro.

Wamba Profilo | Expert

Ciao,
vuoi che vada a capo o vuoi una nuova riga della table?
Nel primo caso è molto più semplice: cerchi le parole che vuoi ed esegui una replace per parola + <br/>
ad esempio se mettiamo le parole da cercare in una List<string>:

List<string> ToSearch = new List<string>();
ToSearch.Add("ciao");
ToSearch.Add("presento");
ToSearch.Add("Wamba");

string myText = "ciao mi presento io sono un test realizzato da Wamba saluti";

foreach(string keyword in ToSearch){
myText = myText.Replace(keyword, keyword + "<br/>");
}
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
http://blogs.ugidotnet.org/WamBlog/
http://www.intellimaker.com

freeteo Profilo | Guru

ciao,
devi dare in output un testo con dentro il tag "<br/>" in modo che venga poi inserito l'acapo nel codice HTML della pagina risultante, e questo lo puoi fare nella proprietà "InnertHTML" e non "innertText" che accetta un testo piano.

Quindi ad esempio, io lavorerei con Regex in questo modo:
pannello.InnerHtml = Regex.Replace(testo, "parola|altraparola", "$0<br/>", RegexOptions.Multiline | RegexOptions.IgnoreCase);

così facendo viene fatto il replace delle parole messe tra "|" con se stesse+<br/> che è l'acapo in html.


ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

ertulio Profilo | Senior Member

Scusami freeteo, ma la cosa non mi è chiara. Io ho questo ocdice che mi visualizza il testo contenuto nel db. A quaesto vorrei che vada a capo quanto incontra determinate parole

Descrizione.InnerText = CType(DataBinder.Eval(dr, "[descrizione]", "{0}"), String)

come lo modifico seguendo le tue indicazioni? Utilizzo vb e access

grazie
http://www.risorsefantacalcio.it

Risorse per tutti gli appassionati di fantacalcio da cui prelevare news, probabili formazioni, voti del corriere e gazzetta e tanhto altro.

freeteo Profilo | Guru

ciao,
Dim testo as String = CType(DataBinder.Eval(dr, "[descrizione]"),String) Descrizione.InnerHtml = Regex.Replace(testo, "parola|altraparola", "$0<br/>", RegexOptions.Multiline | RegexOptions.IgnoreCase)

dove "parola" e "altraparola" sono le parole che vuoi tu, aggiungi le tue sempre separate da "|" e vedrai che fa quello che ti serve.

ps: metti tutto in una riga
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

ertulio Profilo | Senior Member

ok, cosi va quasi bene, l'unico problema che ti chiedo ancora, se ho questa frase ad esempio

questa è la frase di prova per il test dell'accapo

e vorrei che vada a capo quando incontra frase e test questo va a capo dopo che ha incontrato frase e test, invece a me servirebbe che vada a capo già frase e test, si può fare questa cosa?

http://www.risorsefantacalcio.it

Risorse per tutti gli appassionati di fantacalcio da cui prelevare news, probabili formazioni, voti del corriere e gazzetta e tanhto altro.

freeteo Profilo | Guru

ciao,
ma guarda che dovrebbe fare proprio quello che dici

Ovvero:
Dim testo as String = "questa è la frase di prova per il test dell'acapo" Descrizione.InnerHtml = Regex.Replace(testo, "frase|test", "$0<br/>", RegexOptions.Multiline | RegexOptions.IgnoreCase)

l'output è che mette 2 "br" quando incontra le 2 parole una su "frase" e una su "test", ovvero un output così:
questa è la frase<br/> di prova per il test<br/> dell'acapo
non è questo che vuoi?

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5