美文网首页
layim 里面的表情图片转换

layim 里面的表情图片转换

作者: 牛奶ban | 来源:发表于2019-08-10 16:39 被阅读0次
//转换内容
  layui.data.content = function(content){
    //支持的html标签
    var html = function(end){
      return new RegExp('\\n*\\['+ (end||'') +'(code|pre|div|span|p|table|thead|th|tbody|tr|td|ul|li|ol|li|dl|dt|dd|h2|h3|h4|h5)([\\s\\S]*?)\\]\\n*', 'g');
    };
    content = (content||'').replace(/&(?!#?[a-zA-Z0-9]+;)/g, '&')
    .replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/'/g, '&#39;').replace(/"/g, '&quot;') //XSS
    .replace(/@(\S+)(\s+?|$)/g, '@<a href="javascript:;">$1</a>$2') //转义@
    
    .replace(/face\[([^\s\[\]]+?)\]/g, function(face){  //转义表情
      var alt = face.replace(/^face/g, '');
      return '<img alt="'+ alt +'" title="'+ alt +'" src="' + faces[alt] + '">';
    })
    .replace(/img\[([^\s]+?)\]/g, function(img){  //转义图片
      return '<img class="layui-layim-photos" src="' + img.replace(/(^img\[)|(\]$)/g, '') + '">';
    })
    .replace(/file\([\s\S]+?\)\[[\s\S]*?\]/g, function(str){ //转义文件
      var href = (str.match(/file\(([\s\S]+?)\)\[/)||[])[1];
      var text = (str.match(/\)\[([\s\S]*?)\]/)||[])[1];
      if(!href) return str;
      return '<a class="layui-layim-file" href="'+ href +'" download target="_blank"><i class="layui-icon">&#xe61e;</i><cite>'+ (text||href) +'</cite></a>';
    })
    .replace(/audio\[([^\s]+?)\]/g, function(audio){  //转义音频
      return '<div class="layui-unselect layui-layim-audio" layim-event="playAudio" data-src="' + audio.replace(/(^audio\[)|(\]$)/g, '') + '"><i class="layui-icon">&#xe652;</i><p>音频消息</p></div>';
    })
    .replace(/video\[([^\s]+?)\]/g, function(video){  //转义音频
      return '<div class="layui-unselect layui-layim-video" layim-event="playVideo" data-src="' + video.replace(/(^video\[)|(\]$)/g, '') + '"><i class="layui-icon">&#xe652;</i></div>';
    })
    
    .replace(/a\([\s\S]+?\)\[[\s\S]*?\]/g, function(str){ //转义链接
      var href = (str.match(/a\(([\s\S]+?)\)\[/)||[])[1];
      var text = (str.match(/\)\[([\s\S]*?)\]/)||[])[1];
      if(!href) return str;
      return '<a href="'+ href +'" target="_blank">'+ (text||href) +'</a>';
    }).replace(html(), '\<$1 $2\>').replace(html('/'), '\</$1\>') //转移HTML代码
    .replace(/\n/g, '<br>') //转义换行 
    return content;
  };

相关文章

  • layim 里面的表情图片转换

  • LAYIM自定义工具栏与自定义发送消息

    1.在layim.config中定义 tool layim.config({ //初始化接口 ...

  • ios表情键盘的实现

    效果展示 实现的功能 支持将表情转换成字符串, 同时也可以将带有表情的字符串转换成表情图片可自定义表情包, 可自定...

  • 修改layim-mobile 下面的 upload-mobile

    这几天 客服系统 想用layim 来处理客服消息,但是发现 mobile 模式下 上传居然是不能用,看官方也没有更...

  • layim配置文档

    1、数据库配置 在文件目录的application下的全局数据库配置文件 database.php 如果你的模块使...

  • 聊天室之表情发送

    表情图片渲染 将表情包放置在public/img路径下,遍历文件渲染到前端界面 表情图片获取 此时点击表情符号会显...

  • NSMutableAttributedString

    先来看一个小例子,实现表情图片和文字的混排效果,这里我们用Swift来实现: 通过上面的代码我们可以看到通过NST...

  • go 类型转换

    interface{}、断言与类型转换 这篇文章里面的interface{}转换,转换示例非常清楚 (https:...

  • woann-chat 一个基于laravelS和layim的聊天

    woann-chat是一个基于LaravelS和Layim编写的聊天系统。 项目地址:https://github...

  • 心情魔法师

    大班的心情墙上贴着两张大大的表情图片:一张是开心的笑脸,一张是伤心的哭脸。笑脸下面的地板上靠墙贴出一个红色的方格,...

网友评论

      本文标题:layim 里面的表情图片转换

      本文链接:https://www.haomeiwen.com/subject/webrjctx.html