PHP的htmlspeciachars在单引号上不起作用

恶性肿瘤

我正在尝试将单引号转换为其相关的HTML代码以进行数据库插入,但似乎无法正常工作。当我创建以下脚本时:

<?php
 $str = "& and ' and \" and < and >";
 echo htmlspecialchars($str);
?>

我的浏览器返回以下内容:

&amp; and ' and &quot; and &lt; and &gt;

我究竟做错了什么?我已经阅读了htmlspecialchars()函数上的PHP手册,并说它适用于单引号,但它似乎不适用于我。

雅克库

htmlentities()与标志一起使用ENT_QUOTES手册

ENT_QUOTES将转换双引号和单引号。

htmlentities($text, ENT_QUOTES);

如果您只想替换',则&#39;可以使用str_replace(),当然:

str_replace("'", "&#39;", $text);

但是,由于要将数据插入SQL代码中,因此请查看PDO或MySQLi中准备好的语句这些功能可以满足您的确切目的(据我所知),并且会比您自己的功能更好。毕竟,为什么要重新发明轮子?

仅作记录,请确保不要在PHP中使用不推荐使用的MySQL函数-如_W为什么我不应该在PHP中使用mysql __ *函数中所述?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章