假如你常用php開源程序,在升級了php環境後,確定遇到過,Deprecated: Function ereg_replace() 的錯誤信息php
在php5.3版本中,爲了讓編程更簡潔,廢棄了ereg_replace正則函數,但有些早期開發的php程序,這個函數常用,下面我有兩個解決的方法:編程
1.把php版本更換至php5.0,繼續使用早期版本的php環境,但這種方法未免有點不客觀,假如你是購買的虛擬主機,你就沒有辦法更換php版本
2.修改php環境的配置文件,也就是修改php.ini文件:
找到 ;extension=php_mbstring.dll 更改成:extension=php_mbstring.dll
找到 ;mbstring.func_overload = 0 修改成:mbstring.func_overload = 7
這樣也能夠繼續使用,但修改php.ini文件同第一種方法同樣有限制,並非全部的php運行環境你都有權修改
3.使用最新的正則函數 preg_replace,在正則替換時稍有不一樣,
如:ereg_replace("[/\]{1,}", '/', dirname(__FILE__) )
修改後應該爲: preg_replace("/[/\]{1,}/", '/', dirname(__FILE__) )
在phpv5.3中,php推薦使用第3種方法,由於preg_replace要比ereg_replace執行的效率快不少