javascript - 在 Javascript 中解码 HTML 实体

标签 javascript html regex

<分区>

我在数据库中有一条记录:<script src="here is link"><&#47;script> .

它是将斜杠转换为特殊 HTML 字符的正则表达式:string.replace(/\<\/script\>/g, '<&#47;script>');

然后我将它输出到页面。

输出后的结果:

<script src="http://code.jquery.com/jquery-latest.min.js">

    <&#47;script>

</script>

为什么输出 HTML 字符?我需要用正则表达式再次转换它吗?

最佳答案

使用这些 JavaScript 函数:

function decodeHTMLEntities(str) {
  return str.replace(/&#(\d+);/g, function(match, dec) {
    return String.fromCharCode(dec);
  });
};

var encodeHtmlEntity = function(str) {
  var buf = [];
  for (var i=str.length-1;i>=0;i--) {
    buf.unshift(['&#', str[i].charCodeAt(), ';'].join(''));
  }
  return buf.join('');
};

alert(decodeHTMLEntities('<&#47;script>'))

演示 http://jsfiddle.net/tuga/6pXmn/3/

SRC https://gist.github.com/CatTail/4174511

关于javascript - 在 Javascript 中解码 HTML 实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23270790/

相关文章:

php - 使用 jquery 将值从文本框传递给 php 不起作用,请帮忙

javascript - Wp 谷歌地图专业版复选框的行为类似于单选按钮

javascript - 从日期选择器中 trim 包含时间的字符串

javascript - 在 firebase 中存储 Youtube 视频 URL,然后在 &lt;iframe&gt; 中插入 URL 不显示视频

javascript - jQuery UI .tabs() 无内容选项卡?

javascript - IE 11 上的 Bootstrap 和 JQuery 布局异常

jquery - 在表格中显示色样

python - Django 按名称获取 url 正则表达式

java - 向现有正则表达式添加几个特殊字符

javascript - 下拉列表只显示一个字母 Prestashop