在laravel中,htmlentities不会产生所需的输出

时间:2014-01-24 22:05:53

标签: php laravel

我在laravel4控制器中使用htmlentities,例如像

$varialble = htmlentities("<p></p>");

echo $variable;

//Output is <p></p>

不是实体版本。

有人能指出我如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

哈。这让我陷入了困境。

检查出来:PHP htmlspecialchars is not working

Don't worry. htmlspecialchars() is encoding the < and > characters properly. It is just that when you echo the encoded string to your computer screen, your browser helpfully decodes the characters again. If you view the page source you will see the encoded string. @Peter_Carter

我觉得有点傻到没想到这个,但要实际显示&lt;之类的,你需要更改&符号。

$variable = '<p></p>';
$var = '<code>'.htmlentities($variable).'</code>';
$var = str_replace('&','&amp;',$var);
echo $var;

这将按字面打印:&lt;p&gt;&lt;/p&gt;

这是我在没有escaping code in Stack的情况下粘贴完全相同的内容:&lt; p&gt;&lt; / p&gt;