我在laravel4控制器中使用htmlentities,例如像
$varialble = htmlentities("<p></p>");
echo $variable;
//Output is <p></p>
不是实体版本。
有人能指出我如何解决这个问题。
答案 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
我觉得有点傻到没想到这个,但要实际显示<
之类的,你需要更改&符号。
$variable = '<p></p>';
$var = '<code>'.htmlentities($variable).'</code>';
$var = str_replace('&','&',$var);
echo $var;
这将按字面打印:<p></p>
这是我在没有escaping code in Stack
的情况下粘贴完全相同的内容:&lt; p&gt;&lt; / p&gt;