我怎么解决“不推荐使用:函数eregi()已弃用”错误

时间:2011-04-08 03:22:36

标签: php deprecated eregi

我使用的是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)

3 个答案:

答案 0 :(得分:6)

两个选项

  1. 请勿使用ereg*功能(改为使用PCRE suite
  2. 禁用E_DEPRECATED错误报告。请参阅error_reporting()
  3. 最佳选择是#1,因为将来的版本中将删除整个POSIX Extended套件。

    我无法理解人们如何使用它。它被标记为删除多年。更不用说预先弃用的“这些功能都是劣质的!”发出更长时间的警告。

答案 1 :(得分:4)

preg_matchi修饰符一起使用,该修饰符指定您希望与正则表达式不区分大小写匹配。

所以你想要:

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

答案 2 :(得分:1)

error_reporting(E_ALL ^ E_DEPRECATED);

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

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

也应该有用。