2012-06-24 41 views
1

我得到了一個多行的字符串。示例:如何將帶有新行的字符串轉換爲HTML列表?

string = "line1\nline2\nline3" 

我需要在HTML無序列表的頁面上打印出來。

+0

將它分解爲一個數組,然後做一個循環。 – xdazz

+1

請參閱['String#each_line'](http://ruby-doc.org/core-1.9.3/String.html#method-i-each_line) –

+0

在視圖中的控制器和數組呈示器中使用split – Kulti

回答

0

在Ruby中,我會做到這一點:

"<ul><li>" + ("line1\nline2\nline3".split("\n").join("</li><li>")) + "</li></ul>" 
2

您可以使用字符串#each_line一個由@LeonidLukin或字​​符串#割裂+陣列#建議參加由@jcubic的建議。我喜歡,因爲他的代碼在年底創建一個空行項目下面以jcubic的解決方案:

<ul> 
    <% string.each_line do |line| %> 
    <li><%= line.chomp %></li> 
    <% end %> 
</ul> 
0

謝謝大家! 我就是這麼做的:

<ul> 
<% 
    string = "line1\nline2\nline3" 
    lines = string.split("\n") 
    lines.each do |line| 
%> 
    <li><%= line %></li> 
<% end %> 
</ul> 

但現在我想用String.html#method-i-each_lin

0

同與分裂+加入了答案嘗試,只有你可以使用GSUB:

"<ul><li>"+"line1\nline2\nline3".gsub("\n", "</li><li>")+"</li></ul>" 
相關問題