如何解决 magic_quotes_sybase 配置项对 stripslashes 方法的影响?
Jun 06, 2016 pm 08:47 PM
比如 hello\'s world 经过 addslashes 处理后会变成如下字符串:
<code>hello\\\'s world </code>
此时,使用 stripslashes 处理这个字符串,如果 magic_quotes_sybase 项未开启,两个反斜线将会全部被删除,即变成如下字符串:
<code>hello's world </code>
如果单纯地通过 ini_set('magic_quotes_sybase', 0); 则会改变当前系统的配置项,有没有办法在不改变 magic_quotes_sybase 值的情况下,得到最原始的只包含一个反斜杠单字符串(hello\'s world),该怎么破呢?
参考文档:http://cn2.php.net/manual/zh/function.stripslashes.php
回复内容:
比如 hello\'s world 经过 addslashes 处理后会变成如下字符串:
<code>hello\\\'s world </code>
此时,使用 stripslashes 处理这个字符串,如果 magic_quotes_sybase 项未开启,两个反斜线将会全部被删除,即变成如下字符串:
<code>hello's world </code>
如果单纯地通过 ini_set('magic_quotes_sybase', 0); 则会改变当前系统的配置项,有没有办法在不改变 magic_quotes_sybase 值的情况下,得到最原始的只包含一个反斜杠单字符串(hello\'s world),该怎么破呢?
参考文档:http://cn2.php.net/manual/zh/function.stripslashes.php
用get_magic_quotes_gpc()
函数动态检测。
另外ini_set()
函数本来就是脚本内部有效的啊。要是php设置谁都能改那还不翻天了……
WordPress的实践就是用ini_set()
把不把握的默认设置拆了:(WP 3.8 /wp-settings.php
源码)
// Disable magic quotes at runtime. Magic quotes are added using wpdb later in wp-settings.php. @ini_set( 'magic_quotes_runtime', 0 ); @ini_set( 'magic_quotes_sybase', 0 );
另外注意:
magic_quotes_sybase
Deprecated in PHP 5.3.0. Removed in PHP 5.4.0.
即在最新的php 5.4中不再有这个问题了。

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP
