我在允许用户输入内容的CMS中工作。问题在于,当他们添加符号时®
,它可能无法在所有浏览器中正常显示。我想设置一个必须搜索的符号列表,然后将其转换为相应的html实体。例如
®=> ®
&=> &
©=> ©
™=>™
转换后,需要将其包装在<sup>
标签中,从而导致:
®
=> <sup>®</sup>
由于必须使用特定的字体大小和填充样式:
sup { font-size: 0.6em; padding-top: 0.2em; }
JavaScript会是这样吗?
var regs = document.querySelectorAll('®');
for ( var i = 0, l = imgs.length; i < l; ++i ) {
var [?] = regs[i];
var [?] = document.createElement('sup');
img.parentNode.insertBefore([?]);
div.appendChild([?]);
}
“ [?]”的意思是说我不确定。
额外细节:
您可以使用regex将给定unicode范围内的任何字符替换为其html实体等效项。代码看起来像这样:
var encodedStr = rawStr.replace(/[\u00A0-\u9999<>\&]/gim, function(i) {
return '&#'+i.charCodeAt(0)+';';
});
此代码将用其html实体等效项替换给定范围内的所有字符(unicode00A0-9999,以及&符,大于和小于),这就是我们从中获得的unicode值&#nnn;
在哪里。nnn``charCodeAt
在此处查看其运行情况:(此示例在示例中使用jQuery作为元素选择器。上面的基本代码本身未使用jQuery)
进行这些转换并不能解决所有问题-请确保您使用的是UTF8字符编码,请确保您的数据库将字符串存储在UTF8中。根据系统字体配置和您无法控制的其他问题,您仍然可能会看到字符无法正确显示的情况。
问题内容: 我正在尝试解码一些HTML实体,例如变为。 我有一个古老的宝石(html_helpers),但它似乎已经被抛弃了两次。 有什么建议吗?我将需要在模型中使用它。 问题答案: HTMLEntities可以做到:
问题内容: 转换示例: 任何小的库函数都可以解决这个问题? 问题答案: 我经常在工具带上有这个小功能: 它将适用于所有HTML实体。 编辑: 由于您不在DOM环境中,我认为您将必须通过“艰苦”的方式做到这一点: 如果您不喜欢链式替换,则可以构建一个对象来存储您的实体,例如:
例如, 但是使用混合或多重编码规范数据会引发异常(入侵异常)。
问题内容: 我需要解码HTML实体,例如来自&#246; 到ö和&amp; 至 &。 没有完成这项工作(从%表示法转换)。TextUtils具有HTMLencode,但没有HTMLdecode。 有解码HTML实体的功能吗? 问题答案: 该HTML的class是应该做的,但它是说,一切都没有支持。它总是对我有用,但是我从来没有过,所以我不能告诉你这个。尝试获取解码后的字符串。
问题内容: 如何使用角度JS解码文本中的HTML实体。 我有绳子 我需要一种使用AngularJS对此进行解码的方法。我在这里找到了一种使用javascript做到这一点的方法,但是我敢肯定那对Angular无效。需要找回UI上的原始字符串 问题答案: 您可以使用 指令将其显示为html内容,并解码所有html实体。只要确保 在您的应用程序中包括依赖项即可。 演示 JAVASCRIPT HTML
问题内容: 我有一些与XML-RPC后端通信的Javascript代码。XML-RPC返回以下形式的字符串: 但是,当我使用Javascript将字符串插入HTML时,它们将按字面显示。我没有看到图片,我从字面上看到了字符串: 我的猜测是HTML正在通过XML-RPC通道进行转义。 如何取消对Javascript中的字符串的转义?我尝试了此页面上的技术,但未成功:http : //paulschr