2014-02-10 27 views
2

我正在与一些其他开发人员一起工作WordPress网站,他们编写的代码用于为Google Analytics设置自定义变量,通过_setCustomVar,使用html_entity_decode。他们指出了众所周知的和大量使用的Yoast plugin which uses a similar technique。我无法弄清楚为什么你会这样使用它。我是否应该使用html_entity_decode来转义Google Analytics自定义变量?

在任何时候(我可以看到)字符串是否被编码,所以函数不会做任何事情。 WordPress提供了完整的字符串,即使在它们上面有重音符号,也不会编码任何东西,所以没有流氓编码字符需要担心。事实上,你不想做的一件事就是向Google Analytics发送一大堆HTML,对吧?

我改变了它,因为我很确定使用html_entity_decode没有做的是删除单引号,在单引号包含字符串的JS脚本中,这意味着任何带有撇号的变量只会中断Google Analytics(分析)完全追踪

取而代之,我使用strip_tagsesc_jsa WordPress function)清理字符串。

我有点担心,因为链接的脚本是非常常用的。看起来我对某件事一定是错的,我不想因为它而搞砸自己的剧本。

我错过了什么?

回答

1

答案似乎是,Yoast使用该代码作为可能在其中编码字符的字符串的“万一”措施。尽管如此,它似乎仍然没有引用引号,这是一个很大的问题。

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

相关问题