che*_*zeh -5 php database html-entities
现在这是我在PHP中遇到的一个非常奇怪的行为:htmlentities在调用时似乎不起作用; 因此,当我这样做时:
echo htmlentities("<iframe>");
Run Code Online (Sandbox Code Playgroud)
浏览器输出字符串参数unescaped,即<iframe>.
但是,当我调用该函数两次时,它可以工作:
echo htmlentities(htmlentities("<iframe>"));
Run Code Online (Sandbox Code Playgroud)
给我: &lt;iframe&gt;
现在我有两个问题,使用这个"有效的答案":首先,我知道这是一个奇怪的行为,当我的代码导出到另一个时,我无法保证会复制这种奇怪的东西(我希望它不是!)服务器.其次,为什么这种行为首先出现?
所以我的问题:我很想知道这种行为的起源以及该怎么做.
很遗憾你很多都无法验证我的问题,因为我正在使用我的localhost并htmlentities在其他服务器上正常工作.
我认为你对浏览器解释结果感到困惑
echo htmlentities(htmlentities("<iframe>"));
Run Code Online (Sandbox Code Playgroud)
生产(原始产出)
&lt;iframe&gt;
Run Code Online (Sandbox Code Playgroud)
通过一个转换<>成<iframe>
通行证二转换&成&
当您的浏览器呈现它时,&然后呈现为&,在您的问题中生成输出.如果你查看来源,你会看到我在上面发布的内容.
所以它按预期工作.看演示