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

时间: 2025-01-06 01:59:27

Function eregi() is deprecated的相关文章

Deprecated: Function eregi() is deprecated in D:\Apache24\htdocs\processfeedback.php on line 21

Deprecated: Function eregi() is deprecated in D:\Apache24\htdocs\processfeedback.php on line 21 解决办法: 使用函数preg_match()

出现Deprecated: Function ereg_replace() is deprecated in 的原因及解决方法

在 php5.3环境下运行oscommerce,常常会出现Deprecated: Function ereg() is deprecated in...和Deprecated: Function ereg_replace() is deprecated in...这些类型的报错提示. 其原因在于:php5.3以上的版本不支持ereg()函数,而是使用preg_match()函数:不支持ereg_replace()函数,而使用preg_replace()函数. 解决方法一:退回去用php5.2 解

PHP:错误 Deprecated: Function split() is deprecated in ... 解决办法

PHP:错误 Deprecated: Function split() is deprecated in ... 解决办法 PHP5.3 split() 不建议使用的原因:PHP 5.3.0 之后的regex, 希望使用PCRE 的规格, POSIX Regex 都不建议使用了(统一Regex, 避免规格太多?). 所以下述是不建议使用的Function (POSIX), 与建议替换成的Function (PCRE) 列表, 详可见: PHP: Differences from POSIX re

php Function split() is deprecated 的解决办法

原文地址: http://www.cnblogs.com/mfryf/archive/2012/05/31/2527307.html php升级为5.3后,程序会报 Function split() is deprecated 的错误.这是因为种种原因(主要是关于正则的原因,具体见后),split这个函数在新版本不支持了.在php中,再使用deprecated的函数会报错,必须改掉.(java里deprecated的函数只是给警告,还可以继续用)改为什么呢? 看第一个参数,如果第一个参数不是正则

php Function ereg() is deprecated的解决方法

PHP 5.3 ereg() 无法正常使用,提示“Function ereg() is deprecated Error”.问题根源是php中有两种正则表示方法,一个是posix,一个是perl,php6打算废除posix的正则表示方法所以后来就加了个preg_match.此问题解决办法很简单,在ereg前加个过滤提示信息符号即可:把ereg()变成@ereg().这样屏蔽了提示信息,但根本问题还是没有解决,php在5.2版本以前ereg都使用正常,在5.3以后,就要用preg_match来代替

安装完出现Deprecated: Function ereg_replace() is deprecated in

php5.3说明 先不要用php5.3吧,毕竟目前版本要修改这个工作量太大,而且可能会有很多未知错误,这只能在下一版全部改用perl的正则了,都不明白php官方发 什么神经,此外不支持应该是直接屏蔽,而不是警告,如果屏蔽就好办了,用preg模拟一个出来,但目前只能建议不用php5.3了 如果一定要用php5.3,请修改php.ini中下面代码 ;extension=php_mbstring.dll改为extension=php_mbstring.dll ;mbstring.func_overlo

CMS问答错误提示 ----------Deprecated: Function set_magic_quotes_runtime() is deprecated in D:\wwwroot\xianfanet\wwwroot\ask\include\common.inc.php on line 15

//把 set_magic_quotes_runtime(0); //替代成 ini_set("magic_quotes_runtime",0);

PHP报错Deprecated: Function ereg_replace() is deprecated in

可能用了PHP5.3乃至更高的PHP版本,目前DEDE中有很多地方的正则函数都用的ereg_replace,而这个函数现在在PHP5.3中已经被废止了. 解决办法: 如果一定要用php5.3,请修改php.ini中下面代码;extension=php_mbstring.dll改为extension=php_mbstring.dll;mbstring.func_overload = 0修改为:mbstring.func_overload = 7

php5.3不支持 ereg、ereg_replace等函数问题,如提示:Deprecated: Function ereg() is deprecated

在php5.3中,正则函数ereg_replace已经废弃,而dedecms还继续用.有两个方案可以解决以上问题: 1.把php版本换到v5.3下. 2.继续使用v5.3,修改php.ini文件 ;extension=php_mbstring.dll 改为 extension=php_mbstring.dll ;mbstring.func_overload = 0 修改为: mbstring.func_overload = 7 或者使用其他的函数: define('DEDEADMIN', ere