巧用replace将文字表情替换为图片

  微博或者论坛上常见的效果,选择表情插入文本域的时候,显示的是类似[哈哈]这样的字符串,下面是把表情字符串转换为图片表情的一种方法

  

复制代码 代码如下:

  <div id="test">abc</div>

  

复制代码 代码如下:

  var face ={'[哈哈]':'<img src="images/face/haha.gif" alt="" />','[流汗]':'<img src="images/face/liuhan.gif" alt="" />'} //完整的qq表情见本文末尾

  var reg = /\[.+?\]/g;

  var str = '[哈哈]abc[流汗][流汗]'; //这里是获取到的文本域的value,简洁起见,直接使用了字符串。

  str = str.replace(reg,function(a,b){

  return face[a];

  });

  document.getElementById('test').innerHTML = str;

  qq表情包及对应face对象:http://pan.baidu.com/s/1qWPQbBu