原文链接 http://blog.csdn.net/a11085013/article/details/8937848
 
下面列举了部分被弃用的函数: 
    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() 
    [color=olive]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 的分隔符号。

被弃用的php函数以及被那个代替的更多相关文章

  1. 被弃用的php函数以及用来替代的函数

    下面列举了部分被弃用的函数: call_user_method()(使用 call_user_func() 替代) call_user_method_array() (使用 call_user_fun ...

  2. ZeroMQ接口函数之 :zmq_msg_send – 从一个socket发送一个消息帧

    ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq_msg_send zmq_msg_send(3) ØMQ Manual - ØMQ/3.2.5 Name zmq_ ...

  3. Item 17: 理解特殊成员函数的生成规则

    本文翻译自modern effective C++,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! 博客已经迁移到这里啦 C++的官方说法中,特殊成员函数是C++愿意去主动生成的.C++9 ...

  4. c++11 move构造函数和move operator 函数 学习

    先看个代码吧!!!!!!!!!! #include <iostream> using namespace std; class A { public: A(){cout<<&q ...

  5. PHP5.3, PHP5.4, PHP5.5新特性

    PHP 5.3中的新特性 1. 支持命名空间 (Namespace) 2. 支持延迟静态绑定(Late Static Binding) 3. 支持goto语句 4. 支持闭包.Lambda/Anony ...

  6. php5.3 PHP5.4 PHP5.5 新特性/使用PHP5.5要注意的

      1.PHP 5.3中的新特性 1.1 PHP 5.3中的新特性 1.1.1. 支持命名空间 (Namespace) 毫无疑问,命名空间是PHP5.3所带来的最重要的新特性. 在PHP5.3中,则只 ...

  7. wParam与lParam的区别

    wParam与lParam的区别 lParam 和 wParam 是宏定义,一般在消息函数中带这两个类型的参数,通常用来存储窗口消息的参数. LRESULT CALLBACK WindowProc(H ...

  8. jmeter 4.0版本更新说明(个人做个记录)总版本更新合集

    版本4.0 摘要 新的和值得注意的 不兼容的变化 Bug修复 改进 非功能性变化 已知问题和解决方法 谢谢 新的和值得注意的 核心改进 JMeter现在支持JAVA 9. 提供新的边界提取器元件,提供 ...

  9. 【应用安全】微软的安全开发生命周期(SDL)

    0x01 SDL介绍 安全开发生命周期(SDL)即Security Development Lifecycle,是一个帮助开发人员构建更安全的软件和解决安全合规要求的同时降低开发成本的软件开发过程. ...

随机推荐

  1. require.js 学习基础

    RequireJS 是一个JavaScript模块加载器,他的目标是鼓励代码的模块化,它使用了不同于传统<script>标签的脚本加载步骤.可以用它来加速.优化代码,但其主要目的还是为了代 ...

  2. 五种方法实现Java的Singleton单例模式

    面试的时候经常会问到Java的单例模式,这道题能很好的考察候选人对知识点的理解程度.单例模式要求在系统运行时,只存在唯一的一个实例对象. 下面我们来详细剖析一下其中的关键知识点,并介绍五种实现方法,以 ...

  3. 泛型集合与DataSet相互转换

    一.泛型转DataSet /// <summary> /// 泛型集合转换DataSet /// </summary> /// <typeparam name=" ...

  4. Producer-consumer problem in Python

    from: http://agiliq.com/blog/2013/10/producer-consumer-problem-in-python/ By : Akshar Raaj We will s ...

  5. 解决IE下载 apk/ipa 变成zip:Android 手机应用程序文件下载服务器 配置解决方法

    解决IE apk/ipa变成zip:Android 手机应用程序文件下载服务器 配置解决方法 APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Da ...

  6. SciTE: 中文字符支持问题

    SciTE: 中文字符支持问题   SciTE(Scintilla Text Editor)是一个体积小巧的文本编辑器. 但是它默认的设置对中文字符处理不好,其实只要对它进行相应的配置,就可以了. 1 ...

  7. CSS 折角效果

    1 <style type="text/css"> .div1 { width: 200px; height: 200px; background-color: #ff ...

  8. Eclipse生成jar文件

    很多人都不知道怎么在Eclipse下生成jar文件,或者生成了jar文件后又老是用不了,总是会收到 Exception in thread "main" Java.lang.NoC ...

  9. for of 与 for in 的区别

    遍历数组通常使用for循环,ES5的话也可以使用forEach,ES5具有遍历数组功能的还有map.filter.some.every.reduce.reduceRight等,只不过他们的返回结果不一 ...

  10. 第八章 高级搜索树 (b5)B-树: 删除