Rails - Regex помогает построить метод, который разбивает длинные слова тегом <wbr> - PullRequest
0 голосов
/ 21 февраля 2011

Привет, я хочу передать блок html / text, может включать ссылки, в метод. Метод должен разбивать слова длиной более 10 символов. Вот что у меня есть:

def magic_format(str, len = 10)
 fragment = /.{#{len}}/
 str.split(/(\s+)/).map! { |word|
  (/\s/ === word) ? word : word.gsub(fragment, '\0<wbr />')
 }.join


 # AutoLink URLs
 str = auto_link(str, :html => { :target => '_blank' })

end

По какой-то причине gsub не работает, он не добавляет теги wbr.

Мысли? Спасибо

1 Ответ

0 голосов
/ 21 февраля 2011

Работает карта и регулярное выражение (не уверен, что это самый хороший способ сделать это, но это работает).Это просто не меняется str.Это должно сделать трюк ...

def magic_format(str, len = 10)
  fragment = /.{#{len}}/
  str = str.split(/(\s+)/).map! { |word|
    (/\s/ === word) ? word : word.gsub(fragment, '\0<wbr />')
  }.join

  auto_link(str, :html => { :target => '_blank' })
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...