总结PHP的引号和反斜杠问题

来源:bo-blog 1. magic_quotes_gpc=on:\ => \\' => \'" => \"2. 当 \' 、\" 插入数据库时,字符并没有变化,仍然为 ' 和 " 。因此读出时无需再次stripslashes。例外:magic_quotes_r...

来源:bo-blog

1. magic_quotes_gpc=on:
\ => \\
' => \'
" => \"

2. 当 \' 、\" 插入数据库时,字符并没有变化,仍然为 ' 和 " 。因此读出时无需再次stripslashes。
例外:magic_quotes_runtime=on时。

3. preg_replace的pattern中使用 /e 修正符,则replacement传递到callback函数中的情形为:
\ => \
' => '
" => \"

4. 从数据库中读取,当magic_quotes_runtime=off时,似乎 \ => 空 ?

总结:引号和反斜杠的问题很复杂,而且因各服务器的设置不同而千变万化。
现在我的解决方法是
\ => & #92;
引号则用 htmlspecialchars ,quote_style设置为 ENT_QUOTES。

希望SP1版本中贴代码的问题能够解决。
测试:
 

<?php
error_reporting(E_ALL);

/* 加入重定向以得到标准错误输出 stderr。 */
$handle = popen('/path/to/spooge 2>&1', 'r');
echo "'$handle'; " . gettype($handle) . "\n";
$read = fread($handle, 2096);
echo $read;
pclose($handle);
?>
  • 发表于 2021-04-05 15:52
  • 阅读 ( 242 )
  • 分类:互联网

0 条评论

请先 登录 后评论
猫猫表
猫猫表

697 篇文章

你可能感兴趣的文章

相关问题