由于在htmlspecialchars和php中的htmlentities使用单引号导致错误

时间:2017-01-07 11:54:32

标签: php html string

通过使用:

来编码或跳过不同的html字符非常简单
echo htmlspecialchars('<b>"name"</b>', ENT_QUOTES).'<br>';

echo htmlentities('<b>"name"</b>', ENT_QUOTES).'<br>';  

这两个陈述都很好。但是当我在字符串中添加单引号''时,如:

echo htmlspecialchars('<b>"'name'"</b>', ENT_QUOTES).'<br>';

echo htmlentities('<b>"'name'"</b>', ENT_QUOTES).'<br>';  

然后在这种情况下它会出错。在这里,我需要在该字符串中允许这些单引号。请告诉我如何在字符串中允许单引号''

1 个答案:

答案 0 :(得分:2)

您必须使用\转义echo htmlspecialchars('<b>"\'name\'"</b>', ENT_QUOTES).'<br>'; echo htmlentities('<b>"\'name\'"</b>', ENT_QUOTES).'<br>'; 。因此,请尝试以下解决方案:

"

使用echo htmlspecialchars("<b>\"'name'\"</b>", ENT_QUOTES).'<br>'; echo htmlentities("<b>\"'name'\"</b>", ENT_QUOTES).'<br>'; 参数的另一种方式如下所示:

{{1}}