如何将字符串中的img标签变成表情符号传给后台

问题:
在做三级评论的时候遇到了很多问题,其中一个很头疼的问题就是,如何将输入框(可编辑的div)中的文字加表情发送给后台?其中的需求是不能发送“文字+img标签”,要把img标签转化成[face]’+id+’[face]这样的形式传输给后端,这个就让我比较郁闷,想了好久。

解决思路:
其实只需要把字符串中的img标签给“择出来”,取其中的id,然后把它替换成[face]’+id+’[face]即可,那好,接下来我们就这么做。废话不多说,上代码。

上代码

    //发布方法
    function commentNo1(oId){
        //把字符串中的img标签整体替换成[face]'+id+'[face]的形式传给后台
        var txt = $(".textarea").html();
           //数组
           var str1 = txt.match(/<img([\s\S]*?)>/g);
           if(str1){
               for(var i=0;i<str1.length;i++){
                   // 表情
                   if(str1[i].indexOf("src") !== -1){   //如果数组中的元素能找到src的话(因为要找img标签,所以img标签肯定有src关键字,当然,你找其他的也行,比如给img标签加class等,你找他的class也可以。)
                       var id = str1[i].match(/id="([\s\S]*?)"/);//如果找到src的话,那么在钙元素里面找"id"这个字符串,  
                       id = id[0].match(/\d+/g);                       
                       var new_str = "[face]"+id[0]+"[/face]";  
                       //然后把这个img标签替换为[face]'+id+'[face]的形式
                       txt = txt.replace(str1[i], new_str);                                             
                   }
               }
           }

        //给后台发送内容.
        $.post("{:U('Forum/forum_f')}",{"id":oId,"ctype":1,"content":txt},function(data){
            if(data.status == 0){
                window.location.href="{:U('Index/index')}";
            }else{
                tipWords();
                $('.tipWords').text(data.info);
            }
        });

       }

好了,以上就是我关于输入框给后台发送表情+文字之前,对其进行处理的方法,觉得有必要分享一下。谢谢

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值