У меня здесь есть модуль, который заменяет смайлики (например, ":-)") на иконки:
module Smileize
PATH = "/images/smiles"
SMILES = [/\;\-?p/i, /\$\-?\)/, /8\-?\)/, /\>\:\-?\(/, /\:\-?\*/, /\:\-?o/i, /\:\-?c/i, /\;\-?\)/,
/\:\-?s/i, /\:\-?\|/, /\:\-?p/i, /\:\-?D/i, /\:\-?\?/, /\:\-?\(/, /\:\-?\)/]
def to_icon(key)
return "<img class='smiley' src='#{PATH}/smile#{SMILES.index(key) + 1}.png'/>"
end
module_function :to_icon
end
class String
def to_smile
Smileize::SMILES.each do |smile|
if self =~ smile
self.gsub!(smile, Smileize.to_icon(smile))
end
end
self
end
end
Итак, фотографии показывают, что я использую html_safe, вот так:
<%= @message.text.to_smile.html_safe %>
Но меня это не устраивает, потому что будут отображаться картинки и другие теги тоже.
Мой вопрос : как отобразить только мою улыбку, игнорируя другие теги?