如何防止TinyMCE消毒“&”

时间:2019-09-12 15:33:02

标签: html google-analytics tinymce

我有一个要插入TinyMCE的Google Analytics(分析)img标签。我遇到的问题是TinyMCE似乎可以清理HTML。

我需要插入的代码:

<img src="https://www.google-analytics.com/collect?v=1&tid={analytics_account_id}&cid=555&aip=1&t=event&ec=email&ea=open&dp={path}&dt={title}">

将其放入TinyMCE后得到的结果:

<p><img src="https://www.google-analytics.com/collect?v=1&amp;tid={analytics_account_id}&amp;cid=555&amp;aip=1&amp;t=event&amp;ec=email&amp;ea=open&amp;dp= 
{path}&amp;dt=%(AdID)s" alt="" /></p>

请注意,TinyMCE将&更改为&amp;,并且alt=""被添加到末尾。发生这种情况时,我的网页根本不显示任何内容。

如何阻止这种情况发生?

1 个答案:

答案 0 :(得分:2)

&符与引号,撇号一起使用,小于和大于HTML中保留的字符,因为它们表示标记的开始/结束(因此&&''>是保留的)。在这种情况下,与号用于表示实体的开始,例如:&quot;&nbsp;等...

由于这是HTML规范的要求,因此,如果未对其进行编码,它将成为无效的HTML,因为它将&之后的所有内容带到下一个;并假设它是一个实体。

TinyMCE中无法解决此问题。该链接仍将使用编码形式打开,尽管在复制,打开等操作时浏览器将对链接进行解码。