【PHP問(wèn)題解決辦法】Deprecated: Function eregi() is deprecated in

在php升級(jí)到php5.3之后后,在使用的過(guò)程經(jīng)常發(fā)現(xiàn)有的程序會(huì)出現(xiàn)Function eregi() is deprecated 的報(bào)錯(cuò)信息。是什么原因呢?
這是因?yàn)閜hp5.3中不再支持eregi()函數(shù),而使用preg_match()函數(shù)替代。
解決的方法是:將eregi()函數(shù)替換成preg_match() 函數(shù)。
if(eregi(‘^test’,$file))
可以替換為
if(preg_match(‘/^test/i’,$file))
————-
PHP 5.3.0 之後的 regex, 希望使用 PCRE 的規(guī)格, POSIX Regex 都不建議使用了(統(tǒng)一 Regex, 避免規(guī)格太多?).
所以下述是不建議使用的 Function (POSIX), 與建議替換成的 Function (PCRE) 列表, 詳可見(jiàn): 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() 代替. (速度會(huì)比需要 regex 的快很多)
無(wú)天博客
掃一掃加微信 
最新評(píng)論
通過(guò) systemctl 管理 firewalld 服務(wù): # 啟動(dòng)防火墻 systemctl start fire
firewalld 常用命令: # 查看當(dāng)前狀態(tài) firewall-cmd --state # 查看所有規(guī)則 f
轉(zhuǎn)自寶塔平臺(tái),留存?zhèn)溆?/span>
來(lái)源通義千問(wèn)
$viewrnd=rand(2,5); 這個(gè)是重點(diǎn)
多年前親測(cè)有用,現(xiàn)在你只能網(wǎng)上再找找了,注意版本號(hào)
親測(cè)無(wú)效。。
復(fù)制了兩段代碼后直接前后臺(tái)都你的網(wǎng)站遇到致命錯(cuò)誤。。。