巧用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