echo htmlspecialchars - 双重编码?

时间:2016-02-08 23:05:44

标签: php echo htmlspecialchars

使用标准xampp安装,并在index.php页面中运行以下代码,我收到了我认为奇怪的输出。我不确定这是不是一个错误,或者我是不是没有正确理解这个错误。

在读取了堆栈溢出时创建的大量线程时,我仍然不确定为什么会收到此输出。

<?php echo htmlspecialchars("&"); ?>

将在源中输出以下内容:&amp;amp;

但是......如果我使用:

<?php
    echo htmlspecialchars("&");
    echo "<br />"
    echo htmlspecialchars("&");
?>

以下内容将输出到来源:&amp;<br />&amp;amp;

我想我只是混淆了为什么在查看php生成的html源时输出在第二次使用相同语句时生成的方式不同。我假设它与double_encoding有关,但已经尝试了几个语句来禁用和启用htmlspecialchars函数中的双重编码,但似乎总是将&amp;amp;输出到最后一次调用htmlspecialchars。

非常感谢任何额外的输入。

0 个答案:

没有答案