브라우저에서 올바르게 표시하고 싶은 사용자가 제공하는 텍스트가 있습니다 (새 줄은 <br/>
태그로 바뀜). 다른 모든 HTML 태그를 이스케이프 처리하고 싶습니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까? n을 <br> 태그로 바꾸기
답변
가장 좋은 해결책은 아니지만이 방법이 효과적입니다. 보기가 문자열 매개 변수 str
을 허용하면 @Html(HtmlFormat.escape(str).toString.replace("\n", "<br />"))
은 먼저 문자열을 이스케이프 처리하고 \ n의 모든 인스턴스를 <br />
으로 바꾼 다음 Play가 이미 이스케이프 된 문자를 이스케이프 처리하지 않도록 마지막으로 html로 변환합니다. 또한 \ r 또는 \ r \ n을 이스케이프하고 싶다면 다른 replace
을 연결할 수도 있고 대신 정규 표현식을 사용할 수도 있습니다.
글쎄, 나는 프레임 워크가 그러한 일반적인 유스 케이스에 대해 몇 가지 유틸리티를 제공 할 것으로 기대했을 것이다. 어쨌거나, HTML "escape"에 접근하는 최소한의 방법이 있다는 것을 아는 것은 좋은 일입니다. 감사. – szymond
더 나은 옵션처럼 보인 Play API에서 찾을 수없는 항목이 하나 있지만 그 중 하나가있을 수 있습니다. 편의상이 함수를 다른 함수로 래핑하는 것이 좋습니다. –
먼저 텍스트를 이스케이프 처리 한 다음 줄 바꿈을 <br>
으로 바꿉니다. <br>
은이 방법으로 대체되지 않습니다.
- 1. 다른 Git 태그로 바꾸기
- 2. 표현식을 HTML 태그로 바꾸기
- 3. 기호를 HTML 태그로 바꾸기
- 4. unicode를 HTML 태그로 바꾸기
- 5. @n을 찾아서 다른 것으로 바꾸기
- 6. 바꾸기 <a><img> 태그로 연결
- 7. 텍스트를 LXML 텍스트 요소의 HTML 태그로 바꾸기
- 8. CDATA NavigableString을 BeautifulSoup의 태그로 바꾸기
- 9. 특정 scriptlet을 스프링 태그로 바꾸기
- 10. img 태그를 H1 태그로 바꾸기
- 11. Drupal에서 범용 태그로 문자열 바꾸기
- 12. Jquery - 문자열에서 단어를 찾아서 <span> 태그로 바꾸기
- 13. Bash grep/echo n을 공백으로 바꾸기
- 14. div의 텍스트에서 \ n을 <br /> (JS
- 15. \ n을 연구 \ n을
- 16. 한 종류의 태그를 BeautifulSoup의 다른 태그로 바꾸기
- 17. HTML을 구문 분석하고 단어를 앵커 태그로 바꾸기
- 18. PHP, preg_replace 태그를 attr 태그로 바꾸기
- 19. JSON 데이터를 가져올 때 \ n을 <br> 태그로 바꾸려면 어떻게해야합니까?
- 20. jquery.form ajax 호출 결과를 <canvas> 또는 <img> 태그로 바꾸기
- 21. 태그로 문자 바꾸기 (예 : * hi *에서 <p>안녕</p>)
- 22. \ n을 (를) <br /> (으)로 바꾸는 방법은 무엇입니까?
- 23. Luasocket TCP는 \ r에 \ n을 \ r에 \ n을
- 24. 데이터베이스의 모든 varchar 및 nvarchar 필드에서 줄 바꾸기 (\ r \ n을 \ n으로 바꾸기)
- 25. 보내기 \ n을
- 26. 교체 \ n을
- 27. Urlparse와 '\ n을'
- 28. \ n을 올바르게
- 29. php 이스케이프 문자, 문자열 내용을 이미지 소스 태그로 바꾸기
- 30. replaceChild를 사용하여 span 태그를 anchor 태그로 바꾸기 javacript
일부 코드가 제공되지 않으면 도움이 될 수 없습니다. 내 경험에 의하면 \ n 문자열 값을 브라우저에서 올바르게 나타납니다. 예를 들어, 문자열 유형의 Json 데이터는 사용하지 않아도 브라우저에서 올바르게 표시됩니다.
– cYn
@cYn 사용중인 브라우저를 알 수는 없지만 어느 것도 내 선으로 표시되지 않습니다. –
여기에 몇 가지 코드가 필요했습니다. 실제로 Java 코드에 "\ n"을 추가해야합니까? 아니면 사용자가 enter 키를 눌러 사용자가 문자열에 입력 한 텍스트를 모두 저장하도록 허용 했습니까? – cYn