我应该使用html_entity_decode来转义Google Analytics自定义变量吗?

时间:2014-02-10 19:33:50

标签: php wordpress google-analytics html-encode

我正在与一些其他开发人员合作开发一个WordPress网站,他们编写的代码通过_setCustomVar设置Google Analytics的自定义变量,使用html_entity_decode。他们指出众所周知且使用频繁Yoast plugin which uses a similar technique。我无法弄清楚为什么你会这样使用它。

在任何时候(我都看不到)字符串是否被编码,因此该函数不做任何事情。 WordPress提供整个字符串,即使有重音符号,也从不编码,因此不需要担心流氓编码字符。事实上,您不想做的一件事就是向谷歌分析发送一堆HTML,对吧?

我已经改变了它,因为我很确定使用html_entity_decode不能做的是删除单引号,在JS脚本中,单引号包含字符串,意味着任何变量带有撇号完全破坏了Google Analytics跟踪。

相反,我使用strip_tagsesc_jsa WordPress function)清理字符串。

我有点担心,因为链接脚本非常常用。似乎我对某些事情一定是错的,因此我不想搞砸我自己的剧本。

我错过了什么?

1 个答案:

答案 0 :(得分:1)

答案似乎是Yoast使用该代码作为“以防万一”衡量可能在其中编码字符的字符串。它似乎仍然没有照顾引号,这是一个非常大的问题。

以下是我为解决所有问题而撰写的代码:https://gist.github.com/AramZS/8930496