我正在使用gettext翻译我的网站。一个键有一个带有html标签的翻译:
msgid "BANNER_TAG_START"
msgstr "<!-- // MY BANNER TAG -->"
如果我现在在php中使用此代码:
var_dump(htmlspecialchars(gettext('BANNER_TAG_START')));
通常应该返回:
<!-- // MY BANNER TAG -->
大多数时候它都是这样的,但有时我得到:
MY BANNER TAG
为什么我有时会得到错误的代码?
答案 0 :(得分:0)
在我的环境中,运行以下代码,
var_dump(htmlspecialchars("<!-- // MY BANNER TAG -->"));
返回此内容,
string(31) "<!-- // MY BANNER TAG -->"
不是
<!-- // MY BANNER TAG -->
正如你所报道的那样。因此,我假设您在浏览器上报告最终呈现的文本,而不是生成的HTML源代码。
请在生成的HTML源代码中检查3-5次出现问题的3-5次,并检查“&lt;! - //”之前是否存在哪种其他字母或换行符,然后你可能会发现3-5例的差异。