在 JavaScript 中准确取消转义 HTML 实体
Accurately unescape HTML entities in javascript
在javascript中,我需要获取一个字符串和HTML取消转义。
这里的这个问题提出了同样的问题,最流行的答案涉及填充临时div。
我也用过这个,但我想我发现了一个错误。
简单的例子,正确的行为
如果您有此字符串:猫>狗
未逃脱,应该是:猫>狗
格式错误的示例,错误的行为
如果你去掉分号并改用这个:猫>狗
结果你会得到这个: 猫>狗
难道没有错吗?
这让我觉得很奇怪。据我了解,转义字符串需要存在终止分号,否则不会转义。毕竟,如果我有一家名为吉他和乐队的商店呢?据我们所知,这家公司存在但没有业务,因为它在有记录的任何地方都会导致空引用异常。
关于如何在分号丢失时故意避免逃逸的同时执行转义的任何想法?目前,我能想到的就是自己执行逃脱。
(顺便说一下,StackOverflow 中的所见即所得预览表现出类似的异常行为。尝试输入 &,这将呈现为 >!
难道没有错吗?
成功的 HTML 解析器是宽容的。这是将它们与XML解析器区分开来的原因之一。他们不一定遵守关于标记的严格规则,原因很简单,那里有很多不正确的标记。因此,他们试图弄清楚标记的含义。 >Dogs
更可能意味着>Dogs
而不是>Dogs
,所以这就是解析器所采用的。
相关文章:
- 将c#视图模型转换为javascript模型时转义HTML标记
- Regex以转义HTML标记
- 需要使用Java编码/转义HTML字符串,并在JavaScript中解码HTML字符串
- 如何让AngularJS输出转义HTML
- 在某些浏览器中,jquery.html()正在取消转义html字符
- 在 JavaScript 中准确取消转义 HTML 实体
- 为什么使用替换来取消转义 html 标签也会去除所有其他 html 标签
- backbone.js正在转义html
- DojoToolkit:如何转义HTML字符串
- 转义 $(“html”).ajaxError() 在其中一个 $.ajax() 调用中
- Meteor React中的转义HTML标签
- 转义HTML标记.字符集编码可能出现的任何问题
- Select2不会转义HTML或javascript
- 我不想转义HTML标记,也不想在Angular应用程序中使用对象文字
- 我不想在Angular应用程序中转义HTML标记
- 转义HTML和Javascript之间的特殊字符
- 如何在laravel 4.2中使用handlebar js转义html
- 在Javascript中转义html属性中的双引号
- 转义HTML标记属性中的双引号
- 在$scope变量中转义HTML的快速方法