基本上,从MySQL数据库中显示数据时,我有一个 htmlspecialchars()
函数,可以将单引号和双引号转换为安全实体。但是,我遇到的问题是在查看源代码时,它只转换了 < > &
,而我还需要它转换单引号和双引号。
//sanitize data from db before displaying on webpage
function htmlsan($htmlsanitize){
return $htmlsanitize = htmlspecialchars($htmlsanitize, ENT_QUOTES, 'UTF-8');
}
那么当我想使用某个示例时,我会这样做:
htmlsan($row['comment']);
有人能告诉我为什么它不能转换单引号和双引号吗?
更新
奇怪的是,在电子邮件中对评论使用了htmlsan()
,当我查看电子邮件的源代码时,它会将它们转换,但在网页上显示时似乎不会从数据库转换单/双引号。我的数据库排序规则也设置为utf8_general_ci,并声明我在数据库连接等方面使用了utf8。
htmlsan($row['comment']);
不会影响你代码中的任何变量。 - Your Common Sense