【发布时间】:2017-09-14 02:27:33
【问题描述】:
get_magic_quotes_gpc() 是0。
如果我对这些数组使用preg_replace():
$replace[0]=">";
$replace[1]="<";
$replace[2]="&";
$replace[3]='"';
$pattern[0]="#>#";
$pattern[1]="#<#";
$pattern[2]="#&#";
$pattern[3]="#"#";
$pass=preg_replace($pattern, $replace, $pass);
除了反斜杠和单引号外,它都有效。
我试过这个:
$replace[5]="\\";
$pattern[5]="/\/";
但它失败了。
我用的是php5.2
【问题讨论】:
-
这段代码的意图是什么?我非常关心它的应用。 “魔术语录”被淘汰是有原因的:它们是一个非常糟糕的主意。这与 SQL 转义有关吗?如果是这样,请使用带有占位符值的准备好的语句,并且永远不要这样做。有关此问题和其他问题的建议,请参阅 PHP the Right Way。
-
我在某处读到
mysqli(和准备好的语句)可用于 PHP 5 或更高版本并使用 MySQL 4.1.3+。如果您的环境不支持这一点,那么肯定是时候升级了。 -
htmlspecialchars()会为你做这件事...
标签: php regex preg-replace symbols php-5.2