码迷,mamicode.com
首页 > 其他好文 > 详细

转义注意的问题

时间:2018-08-15 15:32:52      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:ace   htm   esc   字符   pos   spec   alc   编号   为什么   

function htmlEscape(str) {
if(str && typeof(str) == "string"){
return str.replace(/&/g, ‘&‘)
.replace(/</g, ‘&lt;‘)
.replace(/>/g, ‘&gt;‘)
.replace(/‘/g, ‘&#039;‘)
.replace(/"/g, ‘&quot;‘)
}
return str;
}

常见的有:&(and)、"(双引号)、‘(单引号)、<(小于号)、>(大于号),这些在 (x)HTML 文档内容中应该分别转换成:&amp;、&quot;、&#039;、&lt; 和 &gt;。

为什么上面单引号的转义和别的特殊字符不同呢?为什么唯独单引号用的是实体编号(&#039;),而其它的用的是实体名称(&apos;)呢?

 IE 浏览器暂时只支持单引号的实体编号。

这也是 PHP htmlspecialchars 函数把单引号转义成 &#039;,而不是 &apos; 的原因。

另外,百度也不支持单引号的实体名称.

转义注意的问题

标签:ace   htm   esc   字符   pos   spec   alc   编号   为什么   

原文地址:https://www.cnblogs.com/ey-151210/p/9481593.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!