从字符串javascript替换多个文本

时间:2013-11-14 10:06:28

标签: 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]]时,它只替换第一个...可以任何一个请告诉我是什么我在这里做错了..?在此先感谢.. :)

2 个答案:

答案 0 :(得分:6)

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;

}

修改 默认情况下,replace将仅替换第一个匹配项,以替换所有必须在正则表达式上使用全局标志。见更新

答案 1 :(得分:-2)

他应该逐个打电话给他们并联系一个字符串并返回