\ n을 변환하는 Railsy 방법이 <br>
있습니까?
현재 다음과 같이하고 있습니다.
mystring.gsub(/\n/, '<br>')
답변
예, rails는 simple_format
당신이 찾고있는 것을 정확히하고 단락 태그를 추가하기 때문에 약간 더 좋습니다. 보다
http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-simple_format
예:
simple_format(mystring)
simple_format
기본 HTML 태그 를 허용하지만 sanitize
모든 스크립트를 제거하는 텍스트도 전달 하므로 사용자 입력에 안전해야합니다.
답변
다음을 수행하여 더 일반적으로 만들 수 있습니다.
mystring.gsub(/(?:\n\r?|\r\n?)/, '<br>')
이렇게하면 DOS, * NIX, Mac 및 실수로 인한 잘못된 줄 끝을 다룰 수 있습니다.
답변
사용자 입력을 처리 할 때주의해야합니다. 태그를
simple_format
삽입 <br>
하지만 다른 HTML 태그를 허용합니다 !
simple_format을 사용하면 <b>Hello</b>
” Hello ” 로 렌더링되므로 원하지 않을 수 있습니다.
대신 <%= h(c.text).gsub("\n", "<br>").html_safe %>
h()
html을 먼저 인코딩 gsub
하고 줄 바꿈을 대체 html_safe
하고<br>
태그가 표시 될 수 있습니다.
사용자가 입력 한 내용이 정확히 표시됩니다. 예를 들어 주석에서 html을 토론 할 수도 있습니다.
답변
간단히 사용
white-space: pre-line;
CSS에서 텍스트는 줄 바꿈으로 줄 바꿈됩니다.
답변
당신은 또한 당신이하려는 일을 고려할 수 있습니다. 사람들이 입력 한 텍스트의 서식을 멋지게 지정하고 있다면, 사용자가 HTML 인 웜을 열지 않고 텍스트 서식을 지정할 수 있도록하는 Markdown 과 같은 필터를 고려할 수 있습니다. 여기 Stack Overflow에있는 것처럼 요.
답변
아니. 당신이 가지고있는 것은 일반적으로 사용되는 대안입니다. 대부분의 사람들이 사용하는 정의는 다음과 같습니다.
def nl2br text
text.gsub(/\n/, '<br/>')
end
같은 이름으로 PHP 함수 의 기능을 모방하기 때문에 이름이 붙여졌습니다 .
답변
mystring.gsub(/\r\n|\r|\n/, '\n')
나를 위해 일했다
