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的函数只是给警告,还可以继续用)
改为什么呢? 看第一个参数,如果第一个参数不是正则表达式,split改为 explode;如果是正则表达式,split改为preg_split。
explode会比以前快很多,因为以前要考虑正则,explode不考虑正则。
————-
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 的快很多)

时间: 2024-12-21 22:25:37

php Function split() is deprecated 的解决办法的相关文章

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 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来代替

Android系统编译错误Note: Some input files use or override a deprecated API. 解决办法

进入系统framework层修改了下MediaPlayer.java的源码,就添加了个方法,结果重新编译系统报下面错误: .................. Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. 6 warnings 再进入MediaPlayer.java把修改的复原,结果编译就通过,关键是我需要那个方法... 最

显示Deprecated: Assigning the return value of new by reference is deprecated in解决办法

很多朋友的php程序当php的版本升级到5.3以后,会出现”Deprecated: Assigning the return value of new by reference is deprecated in“ 显示出来.这是因为5.3以后,不能使用”=&”符号,可以直接用”=”就可以了. 所以当出现这个问题后有两种解决方法: 1. 把php的版本降级到5.3以下,但后退的不是明智的选择. 2. 对程序中”=&”符号全部用”=” 代替.

无法进入KindEditor.ready(function(){})的解决办法

function kedit(kedit){ var editor = KindEditor.create(kedit,{ width: '780px', height: '700px', resizeMode: 0, allowPreviewEmoticons: false, items: [ 'bold', 'italic', 'underline', '|', 'justifyleft', 'justifycenter', 'justifyright', 'insertorderedlis

Function mysql_db_query() is deprecated 错误解决

方法一:@ 在任何错误语句之前加上@符号,即可屏蔽! 方法二:error_reporting 在PHP文件第一行加上:error_reporting(0); 即可屏蔽! 方法三:display_errors 打开php.ini文件,搜索display_errors = on,默认的应该是on,改为off 即可屏蔽! <?php $conn=mysql_connect("localhost", "root", "root"); [email 

Vue使用axios无法读取data的解决办法

今天发现Vue中使用了axios后,then方法中无法读取到data中的数据了,总是提示 Cannot set property 'xxx' of undefined 上网找了一圈后发现了一下解决方法. 解决办法1: methods:{ tap:function(){ var self=this; axios.get('xxxxxx') .then(function(result){ self.message='嘿嘿' }) } } 解决办法2: axios.get('xxxxxxxxxxx')

织梦提示Call to undefined function解决办法

解决办法如下: 打开/include/common.func.php,搜索"function RunApp",在这个函数的上面添加织梦新版本新增的函数:dede_htmlspecialchars(), 添加的具体代码如下: function dede_htmlspecialchars($str) { global $cfg_soft_lang; if (version_compare(PHP_VERSION, '5.4.0', '<')) return htmlspecialch

Fatal error: Call to undefined function imagettftext()解决办法

Fatal error: Call to undefined function imagettftext()解决办法 我的问题是php编译安装时指定了gd的目录,其实不用指定.就可以了 博客分类: php freestylephpcmsconfigure  问题描述:phpcms 安装后,不能看到验证码图片. 解决:确保php-gd和freestyle.而且确保是先安装了freestyle,然后是php-gd:如果是先安装了php-gd,那么在安装完freestyle后,需要make clean