我正在与其他一些开发人员一起在WordPress网站上工作,他们编写的用于通过_setCustomVar
为Google Analytics(分析)设置自定义变量的代码使用html_entity_decode
。他们指出了众所周知且经常使用的Yoast plugin which uses a similar technique。我不知道为什么您会那样使用它。
该字符串在任何时候(我都可以看到)都不会被编码,因此该函数不会执行任何操作。 WordPress提供完整的字符串,即使带有重音符号,也绝不会编码,因此不必担心流氓编码的字符。实际上,您不想做的一件事就是向Google Analytics(分析)发送一堆HTML,对吗?
我已经更改了它,因为我非常确定使用html_entity_decode
不会删除单引号,这在JS脚本中(单引号包含字符串)意味着任何带有撇号的变量都会破坏Google Analytics(分析)完全跟踪。
相反,我使用strip_tags
和esc_js
(a WordPress function)清洗字符串。
我有点担心,因为链接脚本非常常用。看来我在某些事情上肯定是错的,因此我不想弄乱自己的脚本。
我想念什么?
最佳答案
答案似乎是,Yoast使用该代码作为可能在其中编码了字符的字符串的“以防万一”度量。不过,它似乎仍不使用引号,这是一个很大的问题。
这是我为解决所有问题而编写的代码:https://gist.github.com/AramZS/8930496
关于php - 我应该使用html_entity_decode来转义Google Analytics(分析)自定义变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21686260/