javascript - 替换字符串中的多个文本 javascript

标签 javascript jquery

你好,我正在尝试用图像替换所选单词的列表....所以我尝试了下面的代码..

function replaceTextWithEmoticon(text)
{


return text.replace("[[happybirthday]]","<img src='smileys/birthday.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace(":s","<img src='smileys/blue.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace(":%","<img src='smileys/blush.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[boo]]","<img src='smileys/boo.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace(":>","<img src='smileys/book.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[busted]]","<img src='smileys/busted.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace(":*:)","<img src='smileys/cheekkiss.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[goodnight]]","<img src='smileys/goodnight.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[newhere]]","<img src='smileys/newhere.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[nicethread]]","<img src='smileys/nicethread.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[nospam]]","<img src='smileys/nospamhere.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[offtopic]]","<img src='smileys/offtopic.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("0:)","<img src='smileys/smiley-angelic002.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("^^'","<img src='smileys/smiley-ashamed004.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("E:|","<img src='smileys/smiley-confused001.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[:|","<img src='smileys/smiley-confused002.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("v:(v","<img src='smileys/smiley-confused005.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("v0v","<img src='smileys/smiley-confused013.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("B)","<img src='smileys/smiley-cool02.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[dancewithpartner]]","<img src='smileys/smiley-dance012.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[buttdance]]","<img src='smileys/smiley-dance019.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("3:)","<img src='smileys/smiley-devil03.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[excited]]","<img src='smileys/smiley-excited001.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[fartsingle]]","<img src='smileys/smiley-fart004.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[fartdouble]]","<img src='smileys/smiley-fart005.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[midfing]]","<img src='smileys/smiley-finger005.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[cheerleader]]","<img src='smileys/smiley-gen013.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[bgfight]]","<img src='smileys/smiley-gen041.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[score]]","<img src='smileys/smiley-gen055.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[thumbdown]]","<img src='smileys/smiley-gen073.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[musichappy]]","<img src='smileys/smiley-happy011.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[wave]]","<img src='smileys/smiley-happy020.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace(";)","<img src='smileys/smiley-happy112.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace(":)","<img src='smileys/smiley-happy119.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[brushnails]]","<img src='smileys/smiley-happy120.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[backhug]]","<img src='smileys/smiley-hug001.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[friendshi5]]","<img src='smileys/smiley-hug004.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[makehappy]]","<img src='smileys/smiley-hug005.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[bfgfhug]]","<img src='smileys/smiley-hug006.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[lovehug]]","<img src='smileys/smiley-hug014.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[naughty]]","<img src='smileys/smiley-hug015.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[laughhard]]","<img src='smileys/smiley-laughing001.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[laughnormal]]","<img src='smileys/smiley-laughing002.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[iluvu]]","<img src='smileys/smiley-love001.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[kisshand]]","<img src='smileys/smiley-love007.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[coupleluv]]","<img src='smileys/smiley-love010.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[cheekkiss]]","<img src='smileys/smiley-love011.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("<3","<img src='smileys/smiley-love018.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[candlelightdinner]]","<img src='smileys/smiley-love019.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[intenseluv]]","<img src='smileys/smiley-love022.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[merrygoround]]","<img src='smileys/smiley-love025.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[toiletplungerkiss]]","<img src='smileys/smiley-love027.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[kissinglips]]","<img src='smileys/smiley-love028.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace(":(","<img src='smileys/smiley-sad056.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace(":P","<img src='smileys/smiley-taunt002.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace(":p","<img src='smileys/smiley-taunt002.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace(":P|","<img src='smileys/smiley-taunt014.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace(":p|","<img src='smileys/smiley-taunt014.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[welcome]]","<img src='smileys/welcome.gif' style='height:17px;margin-top:1px;'/>");
      return text.replace("[[wtf]]","<img src='smileys/wtf.gif' style='height:17px;margin-top:1px;'/>");


}

上面的代码仅替换字符串中的“[[happybirthday]]”,而没有其他内容..并且当有多个[[happybirthday]]时它仅取代第一个...任何人都可以告诉我我在这里做错了什么..?提前致谢..:)

最佳答案

return 表示其下面的任何内容都将被执行。相反,您应该将其分配给一个变量并返回该变量

function replaceTextWithEmoticon(text)
{

  text = text.replace(/\[\[happybirthday\]\]/g,"<img src='smileys/birthday.gif' style='height:17px;margin-top:1px;'/>");
  text = text.replace(/:s/g,"<img src='smileys/blue.gif' style='height:17px;margin-top:1px;'/>");
  text = text.replace(/\[\[wtf\]\]/g,"<img src='smileys/wtf.gif' style='height:17px;margin-top:1px;'/>");

  ...
  return text;

}

编辑 默认情况下,替换只会替换第一个匹配项,以替换您必须在正则表达式上使用全局标志的所有内容。查看更新

关于javascript - 替换字符串中的多个文本 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19974778/

相关文章:

javascript - Rails 5 - turbolinks 5,一些 JS 未在页面呈现时加载

javascript类为什么第二个参数getter在下面不起作用

jquery - 使用 JQuery 创建链接的最佳方法?

javascript - AJAX 阻塞 div 问题

javascript - 将 jQuery document.ready() 包含为包含文件

javascript - 如何在reactjs中使用chartist的堆栈条?

javascript - 无法获取 SVG 样式 CSS

javascript - 使用ajax以mvc模式通过 Controller 发送数据

javascript - 使用 JQuery 通过 javascript 中的 1 个操作提交两个表单

jquery - 获取 jQuery .filter() 结果的相反/相反结果