2

我正在使用 php 5.3.0,我正在使用 wamp 服务器功能就是这样

eregi("^[ \f\r\t\n]{0,}(SELECT){1}(.+)$",$this->ss_last_query)  
eregi("^[ \f\r\t\n]{0,}(UPDATE|INSERT|DELETE){1}(.+)$",$this->ss_last_query)
4

3 回答 3

6

两种选择

  1. 不要使用这些ereg*功能(改用PCRE 套件
  2. 禁用E_DEPRECATED错误报告。看error_reporting()

最好的选择是 #1,因为整个 POSIX 扩展套件将在未来的版本中被删除。

我无法理解人们如何仍在使用它。多年来,它已被标记为删除。更不用说预先弃用的“这些功能很差!” 警告持续时间更长。

于 2011-04-08T03:24:10.070 回答
4

使用preg_matchwithi修饰符,它指定您希望与您的正则表达式进行不区分大小写的匹配。

所以你要:

preg_match("/regexhere/i", $str);

于 2011-04-08T03:25:00.843 回答
1
error_reporting(E_ALL ^ E_DEPRECATED);

如果你必须使用eregi,但是......

preg_match("/^[ \f\r\t\n]{0,}(UPDATE|INSERT|DELETE){1}(.+)$/is", $this->ss_last_query)

也应该工作。

于 2011-04-08T03:28:08.883 回答