Как я могу заменить последнее свободное место на
в ruby?
У меня в базе данных это:
<h1>Hello dear friend!</h1>
<p>How are you?</p>
<figure><img src="..." alt="..." /></figure>
<p>Bye!</p>
И мне нужно у меня есть «выходные данные»:
<h1>Hello dear friend!</h1>
<p>How are you?</p>
<figure><img src="..." alt="..." /></figure>
<p>Bye!</p>
Я пытался играть с нокогири:
text = Nokogiri::HTML::DocumentFragment.parse(...)
text.css('h1, h2, h3, h4, h5, h6, p, li').each do |tag|
tag_arr = tag.content.split(' ')
tag_last_words = tag_arr[tag_arr.length-2..tag_arr.length]
tag_return = tag_arr[0..-2].push(tag_last_words.join(' '))
tag_return = tag_return.join(' ')
tag.content = tag_return
end
, но я не могу победить некоторые «жучки»:
- удаляются все атрибуты и внутренние теги (html)
- вместо
У меня &nbsp;
Почему? Чтобы избежать переноса одного слова на новую строку на мобильном устройстве. (JS в моем случае не вариант)