在 HTML 中,某些字符是预留的。html
在 HTML 中不能使用小于号(<)和大于号(>),这是由于浏览器会误认为它们是标签。浏览器
若是但愿正确地显示预留字符,咱们必须在 HTML 源代码中使用字符实体。ide
如显示小于号:.net
< 或 <
显示结果 | 描述 | 实体名称 | 实体编号 |
---|---|---|---|
空格 | |
  |
|
< | 小于号 | < |
< |
> | 大于号 | > |
> |
& | 与号 | & |
& |
" | 双引号 | " |
" |
' | 单引号 | ' (IE不支持) |
' |
¢ | 分 | ¢ |
¢ |
£ | 镑 | £ |
£ |
¥ | 日圆 | ¥ |
¥ |
§ | 节 | § |
§ |
© | 版权 | © |
© |
® | 注册商标 | ® |
® |
× | 乘号 | × |
× |
÷ | 除号 | ÷ |
÷ |
更详细的字符实体能够看这里 https://blog.csdn.net/QXXXD/article/details/111043532
/** * 把html转义成HTML实体字符 * @param str * @returns {string} * @constructor */ function htmlEncode(str) { var s = ""; if (str.length === 0) { return ""; } s = str.replace(/&/g, "&"); s = s.replace(/</g, "<"); s = s.replace(/>/g, ">"); s = s.replace(/ /g, " "); s = s.replace(/\'/g, "'");//IE下不支持实体名称 s = s.replace(/\"/g, """); return s; }
/** * 转义字符还原成html字符 * @param str * @returns {string} * @constructor */ function htmlRestore(str) { var s = ""; if (str.length === 0) { return ""; } s = str.replace(/&/g, "&"); s = s.replace(/</g, "<"); s = s.replace(/>/g, ">"); s = s.replace(/ /g, " "); s = s.replace(/'/g, "\'"); s = s.replace(/"/g, "\""); return s; } !