小狐狸博客

如何利用js替换html页面中的文本或者符号等

找到一个好玩的程序 发现不支持发送表情怎么办或者系统不支持表情

下面我提供一下我的表情支持思路 不需要后端

比如我们把一个表情定义为[emt]16[/emt] 16就代表表情图片名称 这样发布

然后渲染的时候我们就可以用replace替换掉16前后的字符

具体代码贴在下面了

<div id="biaoqing">[emt]16[/emt]</div>
<!--上面是显示区域-->

<script type="text/javascript">

// 替换代码为表情
window.onload=function(){
    var div = document.getElementById('biaoqing');
    var html = div.innerHTML;
    div.innerHTML = html.replace(/(\[emt])/g,"<img src="+"/img/").replace(/(\[)/g,"").replace(/(\/emt])/g,".gif />");
}
</script>

如果渲染数据用的是接口怎么办呢?可以在拿到数据的时候遍历修改

let list = [
    {content:"你好啊[emt]1[/emt]"},
    {content:"你也好啊[emt]44[/emt]"}
]
for(let i = 0; i < list.length; i++){
    list[i].content = list[i].content.replace(/(\[emt])/g,"<img src="+"/img/").replace(/(\[)/g,"").replace(/(\/emt])/g,".gif />")
}

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »