Hoe een string met nieuwe regels in HTML-lijst omzetten?

Ik heb een string met meerdere regels. Voorbeeld:

string = "line1\nline2\nline3"

Ik moet het op mijn pagina in HTML ongeordende lijst afdrukken.

1
toegevoegd de auteur Michael Berkowski, de bron
ontploffen het naar een array en vervolgens een lus.
toegevoegd de auteur xdazz, de bron
Gebruik splitsen in controller en array-renderer in beeld
toegevoegd de auteur Kulti, de bron

4 antwoord

U kunt String # each_line a gesuggereerd door @LeonidLukin of String # split + Array # join gebruiken zoals voorgesteld door @jcubic. Ik geef de voorkeur aan de volgende oplossing van jcubic omdat zijn code aan het einde een leeg regelitem maakt:

    <% string.each_line do |line| %>
  • <%= line.chomp %>
  • <% end %>
2
toegevoegd

In ruby zal ik dit doen:

"
  • " + ("line1\nline2\nline3".split("\n").join("
  • ")) + "
"
0
toegevoegd

Hetzelfde als het antwoord met split + join, alleen dat je gsub kunt gebruiken:

"
  • "+"line1\nline2\nline3".gsub("\n", "
  • ")+"
"
0
toegevoegd

Bedankt allemaal! Ik deed het op deze manier:

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

But now I'd like to try using String.html#method-i-each_lin

0
toegevoegd