分类:
2007-12-19 23:20:21
substr()函数在 php manual 中这么给出的:
|
用起来很方便也很强大:将字符串 string 的第 start 位起的字符串取出 length 个字符。若 start 为负数,则从字符串尾端算起。若可省略的参数 length 存在,但为负数,则表示取到倒数第 length 个字符。比如:
|
但是函数越强大也越容易被用错,比如这个情况:
|
功能看起来很简单,就是从我们提交的 text 里第二位开始取值取到最后。
所以如果我们提交 的时候,echo 出来的应该是 bcd 。
而当我们提交 ’bcd 的时候,则会显示 'bcd ,因为 substr() 在我们提交 'bcd 的时候实际操作的是 \'bcd,串里还有一个看不到的反斜杠,而'\'被 substr 给去掉了,然后留下 'bcd 这样的字符串。
而substr()函数操作的字符串是\'bcd的原因是:php.ini文件中magic_quotes_gpc设置为了On,这个参数是对得到的GET/POST/Cookie的字符串进行自动转义的:
; Magic quotes for incoming GET/POST/Cookie data. magic_quotes_gpc = On |