Un'applicazione a cui sto lavorando ha l'utente inserito contenuto in testo in chiaro che verrà successivamente visualizzato come HTML. Per rendere visualizzazione del contenuto dell'utente come bene come possibile, trasformiamo il contenuto come segue:Conversione di nuove righe in paragrafo/tag HTML, può essere una singola espressione regolare?
eventuali blocchi di testo delimitati da due o più caratteri di nuova riga sono avvolti in <p> tag. I caratteri della nuova riga (e gli eventuali spazi in mezzo) vengono eliminati.
Qualsiasi singolo carattere di nuova riga (insieme agli spazi bianchi circostanti) viene sostituito da un tag br/>.
Attualmente sto ottenendo questo mettendo il testo attraverso due regex sostituzioni, ma mi chiedevo se potesse essere consolidato a uno. Ecco cosa ho adesso (JavaScript):
// content holds the text to process
content = '<p>' + content.replace(/\n([ \t]*\n)+/g, '</p><p>')
.replace(/\n/g, '<br />') + '</p>';
Solo curioso, stai usando qualsiasi tipo di editor html/javascript come TinyMCE o YUI? O solo un elemento form/textarea? – Dave
Solo una semplice area di testo del vecchio modulo –
ciao, sei riuscito a risolverlo? – Sisir