Function eregi is deprecated (解决方法)
程序员文章站
2022-06-03 08:38:21
在php升级到php5.3之后后,在使用的过程经常发现有的程序会出现function eregi() is deprecated 的报错信息。是什么原因呢?这是因为php5...
在php升级到php5.3之后后,在使用的过程经常发现有的程序会出现function eregi() is deprecated 的报错信息。是什么原因呢?
这是因为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 的快很多)
这是因为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 的快很多)
推荐阅读
-
ThinkPHP调用common/common.php函数提示错误function undefined的解决方法
-
PHP提示Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法
-
PHP错误WARNING: SESSION_START() [FUNCTION.SESSION-START]解决方法
-
php运行出现Call to undefined function curl_init()的解决方法
-
Fatal error: Call to undefined function curl_init()解决方法
-
Function eregi is deprecated (解决方法)
-
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
-
Vue 报错TypeError: this.$set is not a function 的解决方法
-
【Flask】报错解决方法:AssertionError: View function mapping is overwriting an existing endpoint function: main.user
-
Pycharm使用sns.distplot警告FutureWarning: `distplot` is a deprecated function and will be removed in a