PHP Deprecated: Function eregi() is deprecated解决方法


在php从低版本升级到php5.3以后的版本,我们在使用的过程经常发现有的程序会出现PHP Deprecated:  Function eregi() is deprecated 的报错信息。是什么原因造成的呢?
这是因为php5.3以后的PHP版本中屏弃了eregi()等函数,而使用preg_match()函数替代。

具体解决方法为:

将原来的eregi()函数换成preg_match()函数即可,看下面的例子

原始函数 eregi("[^\.0-9a-z@!_-]",$adminuser)

修改后函数 preg_match("/[^\.0-9a-z@!_-]/i",$adminuser)

注意:正则表达式两端需要加 / /i的界定符

与此相关的还有其它一些类似函数,这里我一并列举给大家

ereg_replace() → preg_replace()
ereg() → preg_match()
eregi_replace() → preg_replace()
eregi() → preg_match()
split() → preg_split()
需要 regex 的 split, 可用 preg_split() 代替
不需要 regex, 只要要快速分割固定的字串, 可用 explode() 代替. (速度會比需要 regex 的快很多)

具体规则朋友们可自行查看PHP手册。

注:本文转载自唯马网络,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除。

评论