简介
显示用户生成的内容时,处理特殊字符(例如® 和 &,可能无法在所有浏览器中正确呈现。为了解决这个问题,有必要将这些符号转换为 HTML 实体以实现一致的显示。
JavaScript 解决方案
编码 HTML 实体的一种简单的 JavaScript 方法是使用正则表达式匹配所需的符号并替换它们:
<code class="javascript">const encodedStr = rawStr.replace(/[\u00A0-\u9999<>\&]/g, function(i) { return '&#'+i.charCodeAt(0)+';'; });</code>
此代码迭代给定的字符范围(unicode 00A0 - 9999,加上&符号,大于和小于)。对于每个匹配,它返回等效的 HTML 实体 (nnn;),其中 nnn 是 unicode 字符代码。
Sup 标签包装
如果您需要要包装在 中的 HTML 实体用于样式设计的标记:
<code class="javascript">// First encode the HTML entity as described above. const encodedStr = rawStr.replace(/[\u00A0-\u9999<>\&]/g, function(i) { return '&#'+i.charCodeAt(0)+';'; }); // Then, wrap the encoded entity in a `<sup>` tag: const supEncodedStr = encodedStr.replace(/\&\;#/g, '<sup>&#');</code>
其他注意事项
以上是如何在 JavaScript 中编码 HTML 实体:实用指南的详细内容。更多信息请关注PHP中文网其他相关文章!