0

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

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]],它只替换第一个......谁能告诉我我在这里做错了什么......?提前致谢.. :)

4

2 回答 2

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 只会替换第一次出现的地方,以替换你必须在正则表达式上使用全局标志的所有内容。查看更新

于 2013-11-14T10:07:58.273 回答
-2

他应该一一调用,一串联系,然后返回

于 2013-11-14T10:10:47.350 回答