如何利用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 />")
}