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
答案 0 :(得分:0)
根据您的模式分隔符与模式中的#
发生冲突,您的模式可能无效。您的$pattern[5]
模式应该为您服务。在测试期间,这可能是一个简单的错误。
以下代码将使用常用和非冲突的斜杠(/
)作为分隔符替换您的字符数组:(Demo)
$pattern[0]="/>/";
$pattern[1]="/</";
$pattern[2]="/&/";
$pattern[3]="/"/";
$pattern[4]="/'/";
$pattern[5]="/\/";
$replace[0]=">";
$replace[1]="<";
$replace[2]="&";
$replace[3]='"';
$replace[4]="'";
$replace[5]="\\";
$pass="Th\is < is & a > sample "string'";
var_export($pass);
echo "\n";
echo preg_replace($pattern, $replace, $pass);
输出:
'Th\is < is & a > sample "string''
Th\is < is & a > sample "string'