在简单的邮件系统中实现表情符号/笑脸的好方法是什么? 我穿着红布作为一种有价值的解决方案。
消息将保存在DB中,如;),:);( *就像这里描述的那样,但这已经过时了:http://flip.netzbeben.de/2008/07/smilies-in-rails-using-redcloth/我在安全等方面尝试对该解决方案发表任何评论?
更新: 创建了一个帮助方法,这个工作
def emoticons(text)
emoticons = { ":)" => "<img src='/assets/emoticons/smile.gif' class='emoticon'>",
":(" => "<img src='/assets/emoticons/cry.gif' class='emoticon'>"
}
[emoticons.keys, emoticons.values].transpose.each do |search, replace|
text.gsub!(search, replace)
end
return raw text
端
有什么办法可以更好地改善这个?替换工作虽然
答案 0 :(得分:1)
此
emoticons = {":)" => "[happy/]", ":(" => "[sad/]"}
text = "test :) :("
[emoticons.keys, emoticons.values].transpose.each do |search, replace|
text.gsub!(search, replace)
end
p text
将输出
test [happy/] [sad/]
您可以使用gsub
来获取HTML输出而不是伪BB代码