为了账号安全,请及时绑定邮箱和手机立即绑定

正则将空格替换为 之后html上直接用文本展示了,并没有转化为空格?

正则将空格替换为 之后html上直接用文本展示了,并没有转化为空格?

弑天下 2019-01-27 19:06:47
正则将空格替换为 之后html上直接用文本展示了,并没有转化为空格
查看完整描述

2 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

  <div id='div'></div>

  <script>

    var text = ' This is  a   dummy   text!    ';

    document.getElementById('div').innerText = text.replace(/ /g, '\u00a0');

  </script>

用 '&nbsp;' 只有设置为 innerHTML 有效,用 '\u00a0' 设置 textContentinnerHTMLinnerText都有效。

查看完整回答
1 反对 回复 2019-03-13
?
千万里不及你

TA贡献1784条经验 获得超9个赞

如果是这种场景,为了防xss,建议使用实体和非实体的转化:

function htmlEncode(html) {

    var sub = document.createElement('div');

    sub.textContent != null ? sub.textContent = html : sub.innerText = html;

    var output = sub.innerHTML;

    sub = null;

    return output;

}


function htmlDecode(text) {

    var sub = document.createElement('div');

    sub.innerHTML = text;

    var output = sub.textContent || sub.innerText;

    sub = null;

    return output;

}


查看完整回答
反对 回复 2019-03-13
  • 2 回答
  • 0 关注
  • 798 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信