我正在尝试将单引号转换为其相关的HTML代码以进行数据库插入,但似乎无法正常工作。当我创建以下脚本时:
<?php
$str = "& and ' and \" and < and >";
echo htmlspecialchars($str);
?>
我的浏览器返回以下内容:
& and ' and " and < and >
我究竟做错了什么?我已经阅读了htmlspecialchars()函数上的PHP手册,并说它适用于单引号,但它似乎不适用于我。
htmlentities()
与标志一起使用ENT_QUOTES
。从手册:
ENT_QUOTES将转换双引号和单引号。
htmlentities($text, ENT_QUOTES);
如果您只想替换'
,则'
可以使用str_replace()
,当然:
str_replace("'", "'", $text);
但是,由于要将数据插入SQL代码中,因此请查看PDO或MySQLi中准备好的语句。这些功能可以满足您的确切目的(据我所知),并且会比您自己的功能更好。毕竟,为什么要重新发明轮子?
仅作记录,请确保不要在PHP中使用不推荐使用的MySQL函数-如_W为什么我不应该在PHP中使用mysql __ *函数中所述?。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句