var str = '/::Q/:heart哈哈哈';
var sqa = {
"100": /\/:heart/ig,
"101": /\/::Q/ig
}
for (var i in sqa)
str = str.replace(sqa[i],'<img src="'+i+'.gif" />');
alert(str);

解决方案 »

  1.   

    你要定义成数组,你可以这样循环下
    alert(repText(str))function repText(s){
    for(var i = 0;i<arr.length;i++){
    var re = new RegExp(arr[i],"gi");
    s = s.replace(re, "<img src='"i + ".gif'>")
    }
    return s;
    }
      

  2.   

    //你的表情肯定符合一定的规则,比如,所有的表情都是/:开始 然后怎么结束,规则明白了,就很容易替换,下面是演示
    Array.prototype.indexOf=function(value)
    {
    for(var i=0;i<this.length;i++)
    {
    if(this[i]===value)
    return i;
    }
    return -1;
    }
    var str = '/::Q/:heart哈哈哈';
    var arr=[];
    arr[100] = '/:heart';
    arr[101] = '/::Q';
    str=str.replace(/\/[:a-z]+/ig,function(v){
    var index=arr.indexOf(v);
    return '<img src="'+index+'.gif" />';
    });
    alert(str);
      

  3.   


    这样可以,我把内容全部替换了, <span ng-if="message.msg_type == 1">{{message.content}}</span>然后是用angular显示的,但是显示出来,页面上是这样的<img src="118.gif" /><img src="166.gif" />26jsdfdsf,没有把图片显示出来
      

  4.   

    这样可以,我把内容全部替换了, <span ng-if="message.msg_type == 1">{{message.content}}</span>然后是用angular显示的,但是显示出来,页面上是这样的<img src="118.gif" /><img src="166.gif" />26jsdfdsf,没有把图片显示出来
      

  5.   


    这样可以,我把内容全部替换了, <span ng-if="message.msg_type == 1">{{message.content}}</span>然后是用angular显示的,但是显示出来,页面上是这样的<img src="118.gif" /><img src="166.gif" />26jsdfdsf,没有把图片显示出来
      

  6.   

    没有把图片显示出来 +
    是你的图片路径错误吧。你的图片和这个程序在相同的文件夹下吗?如果不在,要加路径啊
    <img src="images/118.gif" />之类的
      

  7.   


    这样可以,我把内容全部替换了, <span ng-if="message.msg_type == 1">{{message.content}}</span>然后是用angular显示的,但是显示出来,页面上是这样的<img src="118.gif" /><img src="166.gif" />26jsdfdsf,没有把图片显示出来
    不是你说的这个意思,我的意思是说显示在页面上的就是这样一段文本<img src="118.gif" /><img src="166.gif" />26jsdfdsf,没有把img标签转换成对应的图片,图片地址是对的
      

  8.   

    angular显示的内容支持html标签吗?