2010-02-22 17 views
12

1) Metni her sözcüğün 56 karakteri geçmeyecek şekilde otomatik olarak sarmak istiyorum. Bunu yapmak için bir yöntem var mı, yoksa kendi başıma mı dönmem gerekiyor?Metni sözcük sınırlarında satırlara kaydırma

@comment_text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." 

Bence:

<%= @comment_text.cool_string_function(56) %> 

kılacak:

Lorem ipsum dolor sit amet, consectetur adipisicing 
elit, sed do eiusmod tempor incididunt ut labore et 
dolore magna aliqua. 

2) O kadar 4 boşluklarla metni girintili istiyorum:

<%= @comment_text.cool_string_function({:width => 56, :indent => 4}) %> 

kılacak :

Lorem ipsum dolor sit amet, consectetur adipisicing 
    elit, sed do eiusmod tempor incididunt ut labore et 
    dolore magna aliqua. 

cevap

19

Aradığınız işlevin word_wrap olduğuna inanıyorum.

<%= word_wrap @comment_text, :line_width => 56 %> 

Eğer arzu girinti almak için gsub o birleştirebilirsiniz:: Böyle bir şey çalışması gerekir

<%= word_wrap(@comment_text, :line_width => 52).gsub("\n", "\n ") %> 

Ama muhtemelen temiz görünümünüzü tutmak için bir yardımcı yöntem haline o hareket etmelidir.

+0

+1 Cevabınız ve örnekleriniz için teşekkür ederiz! –

9

Belki de word_wrap yardımcı olabilir.

Metni girmek için \n (yeni satır) newline + 4 boşlukları ile değiştirebilirsiniz.

+0

+1 Zamanınızı ve cevabınız için teşekkür ederiz. Bu tam olarak istediğim gibi görünüyor. –

İlgili konular