我使用PHP 5.3.0和我使用wamp服务器函数是这样的
eregi("^[ frtn]{0,}(SELECT){1}(.+)$",$this->ss_last_query)
eregi("^[ frtn]{0,}(UPDATE|INSERT|DELETE){1}(.+)$",$this->ss_last_query)
两个选项
- 不要使用
ereg*
函数(使用PCRE套件代替) - 禁用
E_DEPRECATED
错误报告。参见error_reporting()
最好的选择是#1,因为整个POSIX扩展套件将在未来的版本中被删除。
我不明白为什么人们还在用这个。它已经被标记了很多年了。更不用提早被弃用的"这些函数是次等的!"警告,这个警告出现的时间甚至更长。
使用preg_match
和i
修饰符,它指定您希望与regex匹配不区分大小写。
所以你想:
preg_match("/regexhere/i", $str);
error_reporting(E_ALL ^ E_DEPRECATED);
如果你必须使用eregi,但是…
preg_match("/^[ frtn]{0,}(UPDATE|INSERT|DELETE){1}(.+)$/is", $this->ss_last_query)