php转义和正则问题
1.单引号字符串只转义\'和\\,而双引号都转义且替换php变量;运行结果为
abc\\$:abc\$
array(1) { => string(1) "\" }
array(1) { => string(1) "\" }
array(1) { => string(1) "\" }
array(1) { => string(1) "\" }
array(1) { => string(1) "$" }
array(1) { => string(1) "$" }
array(1) { => string(1) "$" }
array(1) { => string(1) "$" }
array(1) { => string(2) "\$" }
array(1) { => string(2) "\$" }
array(1) { => string(2) "\$" }
array(1) { => string(2) "\$" }
分析:preg_match第一个参数为正则匹配模式,先按单引号字符串或双引号字符串转义,然后对结果再按正则转义一次,结果就比较好理解了,如'/\\\\\$/'被字符串转义后为'\\\$',再被正则转义为'\$';如"/\\\\\\\$/"被字符串转义后为'\\\$',再被正则转义为'\$'.
小结:勤加练习,找出原理才是解决问题的根本!
页:
[1]