如何用JS替换文字为表情?

例如有一段文字

这里是测试,[em:1]哈哈[em:2]

将里面的[em:xxx]都替换成一个数组里key对应的value

array(1=>'1.gif',2=>'2.gif');

如何用正则替换呢?谢谢!


2016-5-20 22:42:38 更新

谢谢各位 刚刚看了些教程写了一个出来,没想到各位写得那么迅速,而且和你们也有点差距,谢谢了

我自己写的是

var reg = /\[em:\d+]/g;

供参考

阅读 5.5k
2 个回答
var str = '这里是测试,[em:1]哈哈[em:2]';
var arr = ['1.gif', '2.gif'];
var str2 = str.replace(/\[em:(\d+)\]/g, function(item, index){
    return arr[index-1];
});
console.log(str2);
var a = '这里是测试,[em:1]哈哈[em:2]';
var b = ['', '1.gif', '2.gif'];
a.replace(/\[em:([\d]+)\]/ig, (e, e1) => b[e1])

//这里是测试,1.gif哈哈2.gif
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题