Ho un testo fornito dall'utente che mi piacerebbe visualizzare correttamente nel browser (con le nuove linee sostituite con <br/>
-tag). Desidero che tutti gli altri tag HTML siano sfuggiti. Qual'è il miglior modo per farlo?Sostituzione n con <br> tag
risposta
Non è la soluzione più bella, ma funzionerà. Se la vista accetta un parametro stringa str
, allora @Html(HtmlFormat.escape(str).toString.replace("\n", "<br />"))
per prima cosa sfuggirà alla stringa, quindi sostituirà tutte le istanze di \ n con <br />
e infine la trasformerà nuovamente in html in modo che Play non tenti di sfuggire ai caratteri già salvati. Se vuoi anche scappare \ r o \ r \ n puoi incatenare un altro replace
o usare una regex.
Bene, mi sarei aspettato che il framework fornisse alcuni strumenti per un caso d'uso comune. Ad ogni modo, è bello sapere che c'è almeno un modo semplice per accedere a un "escaper" HTML. Grazie. – szymond
Non sono riuscito a trovare nulla nell'API di riproduzione che sembrava un'opzione migliore, ma forse ce n'è uno. Per comodità potrebbe essere meglio avvolgerlo in un'altra funzione. –
Per prima cosa sfuggire al testo, quindi sostituire le interruzioni di riga con <br>
. Lo <br>
non verrà sostituito in questo modo.
- 1. Sostituzione "\ r \ n" con "\ n"
- 2. sostituzione per il righello orizzontale <hr> tag
- 3. cosa fa cout << "\ n" [a == N]; fare?
- 4. html/templates - Sostituzione newlines con <br>
- 5. Sostituzione di un intero (n) con un carattere ripetuto n volte
- 6. golang: come sostituire "\ n" con "<br>"
- 7. Sostituzione di parole con collegamenti di tag in PHP
- 8. Sostituzione di un tag InnerText div con HTML Agility Pack
- 9. inserisci <? Tag xml-stylesheet con xsl
- 10. php: sostituzione doppio <br /> con</p><p>
- 11. Rimuovere tag HTML tranne <br> o <br/> tag con javascript
- 12. unix commandline per la sostituzione in linea di tutte le newline nel file con <br> \ n
- 13. Sostituzione di tag di un tipo con tag di un altro in BeautifulSoup
- 14. È possibile forzare XmlWriter a emettere <my-tag></my-tag> anziché <my-tag/>?
- 15. Prendere n elementi casuali da un elenco <E>?
- 16. xUnit v2 IUseFixture <> sostituzione
- 17. ScrollView setOverScrollMode sostituzione in API <9
- 18. coseno somiglianza tra vettori, con <O (n^2) complessità
- 19. Sublime Text 2 RegEx sostituisci n con n + 1
- 20. sostituire \ n e \ r \ n con <br /> in java
- 21. Cython: per i da 1 <= i <N
- 22. C++ k numeri casuale campioni della gamma 0: n-1 (n> k) senza sostituzione
- 23. <img> vs <image> tag in HTML
- 24. Utilizzo di un tag <hr> con una tabella?
- 25. audio in streaming con html5 `<audio>` tag
- 26. Utilizzo del tag <script async> con Angular.js
- 27. Hai familiarità con il tag <ins> in html?
- 28. Come simulare più tag <br/> con CSS
- 29. elemento instert prima</body> tag con vaniglia JavaScript
- 30. Cosa sostituire <span> in <form> con? "In XHTML 1.1 tag <form> non può contenere tag <span>
Questo è veramente difficile da aiutare senza alcun codice fornito. Nella mia esperienza, anche i valori di stringa con \ n appaiono correttamente nel browser. Ad esempio i miei dati Json nel tipo String appaiono formattati correttamente nel browser senza dover usare
– cYn
@cYn Non so quale browser stai usando, ma nessuno dei miei mostrerà \ n come una nuova riga. –
Qui dovevo vedere un po 'di codice. In realtà dovevi aggiungere "\ n" nel tuo codice Java? O hai lasciato che l'utente semplicemente premesse invio e memorizzasse tutto quel testo che l'utente ha inserito in una stringa? – cYn