Function eregi is deprecated (解决方法)详解编程语言

在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 的快很多)

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/16282.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论