首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用表情符号滤镜扩展Redcloth

使用表情符号滤镜扩展Redcloth
EN

Stack Overflow用户
提问于 2012-02-28 16:47:05
回答 1查看 750关注 0票数 1

在一个简单的消息系统中实现表情符号/笑脸的好方法是什么?作为一个有价值的解决方案,我选择了红布。

消息将保存在数据库中,就像;),:) ;( *像这里描述的,但这是旧的:http://flip.netzbeben.de/2008/07/smilies-in-rails-using-redcloth/我试着在安全等方面对该解决方案发表任何意见?

更新:创建了一个帮助器方法,这个方法可以工作

代码语言:javascript
复制
  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

结束

有什么方法可以进一步改进这一点吗?替换工作正常,尽管

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-28 17:10:27

代码语言:javascript
复制
emoticons = {":)" => "[happy/]", ":(" => "[sad/]"}
text = "test :) :("
[emoticons.keys, emoticons.values].transpose.each do |search, replace|
  text.gsub!(search, replace)
end
p text

将输出

代码语言:javascript
复制
test [happy/] [sad/]

您可以使用gsub来获得HTML输出,而不是伪BB代码

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9478824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档