?call_user_method()
(使用 call_user_func()
替代)
????call_user_method_array()
(使用 call_user_func_array()
替代)
????define_syslog_variables()
????dl()
????ereg()
(使用 preg_match()
替代)
????ereg_replace()
(使用 preg_replace()
替代)
????eregi()
(使用 preg_match()
配合 ‘i’ 修正符替代)
????eregi_replace()
(使用 preg_replace()
配合 ‘i’ 修正符替代)
????set_magic_quotes_runtime()
以及它的别名函数??magic_quotes_runtime()
????session_register()
(使用 $_SESSION
超全部变量替代)
????session_unregister()
(使用 $_SESSION 超全部变量
替代)
????session_is_registered()
(使用 $_SESSION 超全部变量
替代)
????set_socket_blocking()
(使用 stream_set_blocking()
替代)
????split()
(使用 preg_split()
替代)
????spliti()
(使用 preg_split()
配合 ‘i’ 修正符替代)
????sql_regcase()
????mysql_db_query()
(使用 mysql_select_db()
和??mysql_query()
替代)
????mysql_escape_string()
(使用 mysql_real_escape_string()
替代)
????废弃以字符串传递区域设置名称. 使用 LC_*
系列常量替代.
????mktime()
的 is_dst
参数. 使用新的时区处理函数替代.
涉及到的主要的函数迁移如下:
删除函数 define_syslog_variables 引用删除对函数 define_syslog_variables 的引用将变量 $LOG_ERR, $LOG_USER 等用常量 LOG_USER, LOG_USER, … 替代
ereg, eregi
函数用 preg_match
函数替代这几个函数的函数声明int ereg ( string$pattern , string $string [, array
&$regs ] ) int eregi ( string $pattern , string $string [, array
&$regs ] ) intpreg_match ( string $pattern , string $subject [,
array &$matches [, int $flags [, int $offset ]]]
)虽然三者的第一个参数都是字符串,表示一个正则表达式,但是 preg_match 用的是 PCRE(Perl 兼容的正则表达式语法):正则表达式的两端用一个符号做边界,如 “/pattern/” 或者 “#pattern#”
,eregi 是乎略大小写的匹配,转换为 preg_match,第一个参数,用PCRE的参数来乎略大小写,如:”/pattern/i” 或者 “#pattern#i”
,
两者的第三个参数返回的匹配的数据结构不同。ereg
的第三个参数在调用结束后,返回的是一个字符串数组,分别为完整匹配字串和各个子匹配字串。preg_match 返回的是二维数组,相当于 ereg
的字串数组中的字串在 preg_match 是一个数组,分别保存匹配值以及匹配位置。如果要进行多次匹配,PHP 提供了
preg_match_all 函数,其第三个参数的返回值则是一个三维数组.
ereg_replace, eregi_replace
函数用 preg_replace
函数或者 str_replace 函数来替代和前面的 ereg 替换为 preg_match
类似,第一个参数要进行转换,头尾增加一个符号,如:”/pattern/” 或者 “#pattern#”, …eregi_replace 到
preg_replace 的替换,在第一个参数的后面增加正则表达式参数。如:”/pattern/i” 或者 “#pattern#i”, …如果
ereg_replace 的第一个参数不是正则表达式,可以用 str_replace 直接来替换。
spliti
函数用 explode
或则 preg_split
函数替代split 切分字符串,如果无须用到正则表达式,使用 explode 替换是最好不过,速度最快.
对于使用正则表达式切分字串,则使用 preg_split 函数替代。替代过程和 ereg/ereg_replace 类似,只是在第一个正则表达式参数中做文章,将 split 的正则表达式前后加上一个 PCRE 的分隔符号。
详细解决方案
PHP5.3废弃函数 顶替记
热度:717 发布时间:2012-12-26 14:39:28.0
相关解决方案
- Windows上Nginx+PHP5(FastCgi)安装配置详解
- php5.3和mssql的有关问题等确认
- PHP5.3.x 不再支持ISAPI,要用fastCGI方式才能在IIS6下运行PHP5.3?解决方法
- 求:php 连接 MSSQL2008 代码,以及异常解答。 Win2008:Apache+php5.3.2 VC9 TS+MSSQL2008
- php5.1.6情况下,出现RECURSION。求立!
- win7 64位 WAMP环境停(PHP5.3) redis扩展无法生效
- IIS7 fastcgi php5.3很慢是什么情况?解决方法
- 求一份windows停的php_apc for php5.3!
- php5.3.1支持多承袭
- PHP5.2升级PHP5.3的有关问题
- php5.3 php5.4解压以后为什么没有php5apache2_2.dll这个文件
- php5.3 webservices 开发 急解决办法
- MemAdmin 基于 PHP5 & JQuery 的 Memcached 治理监控工具
- php5.4.13在ubuntu12.04上的配备
- php5.3.11+sqlserver2005
- include_path='C:\php5\pear'异常的解决办法
- nginx+php5.3.20上,file_get_contents无法使用
- 2003server iis6.0 + php5.28+mssql2005联接如上错语
- PHP5.3.3安装memcache的有关问题
- PHP5+引进$GLOBALS推迟初始化的概念
- PHP5.4无法安装sphinx扩展,该怎么解决
- WIN7,IIS,PHP5.2.17上zend optimizer安装一直不成功
- PHP5.3废弃函数 顶替记
- php5 值赋值与引述赋值
- php5.3中新增多的_invoke方法
- 在Windows上编译安装AMFEXT for PHP5.3
- PHP5.2\5.3 Xdebug 调试器配备及应用
- php5.2以下版本安装与扩展库的安装
- php5.4.3找不到memcache模块,如何解决
- PHP5:OOP - 分开业务逻辑层代码 , 是否必要