首页 > 精选文章 > PHP > 正文

Function eregi is deprecated (解决方法)

在php升级到php5.3或php5.4之后,原有程序可能会出现Function eregi() is deprecated 的报错信息。

如果程序中使用了eregi函数,则会提示类似如下的错误:

Deprecated: Function eregi() is deprecated in E:\hx\www.9enjoy.com\include\function.php on line 878

这是因为php5.3起不再支持eregi()函数,而推荐使用preg_match()函数替代。
解决的方法是:将eregi()函数替换成preg_match() 函数。
 if(eregi('^test',$file))
可以替换为
if(preg_match('/^test/i',$file))
 
————-
PHP 5.3.0 之後的 regex, 希望使用 PCRE 的規格, POSIX Regex 都不建議使用了(統一 Regex, 避免規格太多?).
所以下述是不建議使用的 Function (POSIX), 與建議替換成的 Function (PCRE) 列表, 詳可見: PHP:
Differences from POSIX regex
* POSIX → PCRE
* ereg_replace() → preg_replace()
* ereg() → preg_match()
* eregi_replace() → preg_replace()
* eregi() → preg_match()
* split() → preg_split()
* spliti() → preg_split()
* sql_regcase() → No equivalent
* 需要 regex 的 split, 可用 preg_split() 代替
* 不需要 regex, 只要要快速分割固定的字串, 可用 explode() 代替. (速度會比需要 regex 的快很多)

详细出处参考:http://www.jb51.net/article/38857.htm

  • 上一篇:数学常数e的含义
  • 下一篇:查看CentOS版本方法