Table of Contents
Here’s the code to realise nl2br of PHP in Rails.
Environment
(Unless Rails changes considerably), it can be used in most versions.
- Rails 4.2.5
- Ruby 2.0.0
Method 1: User Prepared Function
Rails method simple_format helps you. But it’s somehow different from nl2br.
simple_format
This function find 2 successive LF (\n) and divide string to paragraphs with them, and convert non-successive LF to <br>.
It creates not only br tag, also p tag. The tag to be used to make paragraph is p tag as default, and you can change it with option parameter :wrapper_tag, but can’t ignore paragraph sectioning.
|
1 |
<%= simple_format(text) %> |
Method 2: Create Custom Function
For example, create the function nl2br at ApplicationHelper like the following.
|
1 2 3 4 5 |
module ApplicationHelper def nl2br(str) return sanitize(str).gsub("\n", '<br>').html_safe end end |
It doesn’t realize all of nl2br in PHP but it convert LF to <br>. We can use it as the following.
|
1 |
<%= nl2br("something\nto\nsay") %> |
