在 JavaScript 中编码 HTML 实体
处理用户生成的内容时,®、&、© 和 ™ 等实体可能不会显示跨浏览器一致。 JavaScript 提供了多种在 HTML 中对这些实体进行编码的方法。
转换为 HTML 实体
要将符号转换为其相应的 HTML 实体,请使用以下代码:
<code class="js">var encodedStr = rawStr.replace(/[\u00A0-\u9999<>\&]/g, function(i) { return '&#'+i.charCodeAt(0)+';'; });</code>
显示为上标
要将编码实体显示为具有自定义样式的上标,请使用 CSS:
<code class="css">sup { font-size: 0.6em; padding-top: 0.2em; }</code>
示例实现
<code class="js">var regs = document.querySelectorAll('®'); for (var i = 0, l =regs.length; i < l; ++i ) { var div = document.createElement('sup'); var text = document.createTextNode(encodedStr); div.appendChild(text); regs[i].parentNode.insertBefore(div); }</code>
此代码:
其他注意事项
文档
以上是如何在 JavaScript 中对 HTML 实体进行编码以实现一致的用户生成内容显示?的详细内容。更多信息请关注PHP中文网其他相关文章!