php5.3提示Function ereg() is deprecated Error问题解决方法
本文实例讲述了php5.3提示Function ereg() is deprecated Error问题解决方法。分享给大家供大家参考。具体实现方法如下:
一、问题:
PHP 5.3 ereg() 无法正常使用,提示“Function ereg() is deprecated Error”是因为它长ereg 函数进行了升级处理,需要像preg_match使用/ /来规则了,当然也是php5.3把ereg给废掉的节奏了。
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来代替ereg。所以就需要变成这样。
原来:ereg("^[0-9]*$",$page)变成:preg_match("/^[0-9]*$/",$page)
特别提醒:posix与perl的很明显的表达区别就是是否加斜杠,所以与ereg相比,后者在正则的前后分别增加了两个"/"符号,不能缺少。
例如:
改前:
function inject_check($sql_str) {
$sql_str = strtolower($sql_str);
return eregi('fopen|post|eval|select|insert|and|or|update|delete|'|/*|*|../|./|union|into|load_file|outfile', $sql_str); // 进行过滤
}
二、解决方法:
找到代码所在的文件位置:
function inject_check($sql_str) {
$sql_str = strtolower($sql_str);
return preg_match('/fopen|post|eval|select|insert|and|or|update|delete|'|/*|*|../|./|union|into|load_file|outfile/', $sql_str); // 进行过滤
}
注意:一定要加'/'开头与结束。此段参考:http://www.jb51.net/article/38857.htm
补充:此问题在php5.2之前版本不会出现。
希望本文所述对大家的PHP程序设计有所帮助。
相关推荐
-
session在php5.3中的变化 session_is_registered() is deprecated in
在php5.3中运行书中代码会有如下提示:Function session_is_registered() is deprecated inFunction session_register() is deprecated in 意思是说这两个函数是不赞成的,弃用的. 下面是php官方手册上的代码,注释部分已经说明了不赞成用session_register() 复制代码 代码如下: <?php// Use of session_register() is deprecated 不赞成用sessi
-
MySQL 5.6 中TIMESTAMP with implicit DEFAULT value is deprecated错误
安装MySQL时,有warning: [root@localhost mysql]# scripts/mysql_install_db --user=mysql Installing MySQL system tables...2015-08-13 14:20:09 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server
-
小议Java中@param注解与@see注解的作用
@ param @ param标签可以归档方法或构造器的某个单一参数,或者归档类.接口以及泛型方法的类型参数.在使用@ param标签时,我们应该针对方法的每一个参数都使用一个该标签.每个段落的第一个词会被当作参数名,而余下的部分则会被当作是对它的描述: @param max The maximum number of words to read. 当归档类型参数时,我们应该在类型参数名两边加上<和>: @param一e element type of this List 然而,类型参数通常并
-
php提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
Warning: Call-time pass-by-reference has been deprecated in E:\Program Files\EasyPHP 3.0\www\bugfree\Include\Class\XmlParse.class.php on line 46 Warning: Call-time pass-by-reference has been deprecated in E:\Program Files\EasyPHP 3.0\www\bugfree\Incl
-
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, 希望
-
Java @Deprecated注解的作用及传递性
相关知识:Java中三种简单注解介绍和代码实例 一.作用 用 @Deprecated注解的程序元素,不鼓励程序员使用这样的元素,通常是因为它很危险或存在更好的选择.在使用不被赞成的程序元素或在不被赞成的代码中执行重写时,编译器会发出警告. 二.传递性 如果一个类被使用了@Deprecated注解,在调用这个类的地方IDE会给出提示.但如果调用这个类的字类IDE会进行提示吗? 从实验结果看是不会的.因为采用编辑器插入代码时不会像IDE那样出现提示,这里采用截图,有兴趣的同学可以做下实验. 以上内容
-
php5.3提示Function ereg() is deprecated Error问题解决方法
本文实例讲述了php5.3提示Function ereg() is deprecated Error问题解决方法.分享给大家供大家参考.具体实现方法如下: 一.问题: PHP 5.3 ereg() 无法正常使用,提示"Function ereg() is deprecated Error"是因为它长ereg 函数进行了升级处理,需要像preg_match使用/ /来规则了,当然也是php5.3把ereg给废掉的节奏了. PHP 5.3 ereg() 无法正常使用,提示"Fun
-
Python multiprocess pool模块报错pickling error问题解决方法分析
本文实例讲述了Python multiprocess pool模块报错pickling error问题解决方法.分享给大家供大家参考,具体如下: 问题 之前在调用class内的函数用multiprocessing模块的pool函数进行多线程处理的时候报了以下下错误信息: PicklingError: Can't pickle <type 'function'>: attribute lookup __builtin__.function failed 查了下官方文档发现python默认只能pi
-
Python解析json时提示“string indices must be integers”问题解决方法
本文实例讲述了Python解析json时提示"string indices must be integers"问题解决方法.分享给大家供大家参考,具体如下: import json,但是出现了一个奇怪的问题: string indices must be integers 这个错误告诉我,[ ]里面应该是数字而不是字符串,但是dict使用key访问也可以,这种错误感觉解析出来的结果像是一个list. 所以考虑是字符串解析的问题.打印解析的结果,是一长串的字符串,一堆的key挤在一起,v
-
PHP提示Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法
本文实例讲述了PHP提示 Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法,在PHP程序开发中常会遇到这类问题.分享给大家供大家参考,具体的解决方法如下: 将下面代码改为mysqli或PDO即可. function connectit () { global $CFG; mysql_connect($CFG['db_host'], $CFG['db_user'], $CFG['db_pass']) or die
-
nginx提示:500 Internal Server Error错误解决办法
nginx提示:500 Internal Server Error错误解决办法 前言: 今天发现网站无法上传资源和发布文章,通过浏览器查看服务器的返回信息 500 Internal Server Error 刚开始我以为是应用服务器或者是程序异常,检查了下各自的日志,连请求记录都无,程序代码里也没抛出过该类型的异常,所以可以从服务器或者Nginx中找原因了. 1.是否磁盘空间不足? 使用 df -k 查看硬盘空间是否满了.清理硬盘空间就可以解决500错误.nginx如果开启了access lo
-
Javascript使用function创建类的两种方法(推荐)
1.使用function类 //myFunction.js var CMyFunc=function() { //类的公共方法,供外部调用 this.Func1=function() { var i=0; return i; } this.Func2=function() { _privateFunc(); } //类中的私有方法,供公共方法调用 function _privateFunc() { return 0; ] } CMyFunc myFunc=new CMyFunc(); 使用:其它
-
[ASP.NET AJAX]Function对象及Type类的方法介绍
上一回我们从总体上认识了JavaScript Microsoft AJAX Library由于临时有事,没有加入事例显得有点抽象,这一回一定会通过一些事例更加直观的来会一会Asp.NET Ajax脚本库中一个很是重要的类Type.这个类提供了一些扩展面向对象编程的一些反射方法,通过这个类我们可以注册类似.NET中的一些(如:命名空间,类,枚举等等)基本类型.这个Type类继承自window是一个Global类型,不属于任何命名空间.下面我们来看看Type中的一些基本方法以及是怎样实一些方法的实现
-
jQuery扩展实现text提示还能输入多少字节的方法
本文实例讲述了jQuery扩展实现text提示还能输入多少字节的方法.分享给大家供大家参考,具体如下: 1.添加jQuery自定义扩展 $(function($){ // tipWrap: 提示消息的容器 // maxNumber: 最大输入字符 $.fn.artTxtCount = function(tipWrap, maxNumber){ var countClass = 'js_txtCount', // 定义内部容器的CSS类名 fullClass = 'js_txtFull', //
-
JS使用cookie实现DIV提示框只显示一次的方法
本文实例讲述了JS使用cookie实现DIV提示框只显示一次的方法.分享给大家供大家参考,具体如下: 这里运用JavaScript的cookie技术,控制网页上的提示DIV只显示一次,也就是当用户是第一次打开网页的时候才显示,第二次自动隐藏起来,很好的提升了用户体验,不会使用户烦感:利用Cookies,我们还可做超多的事情,慢慢体会吧. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-cookie-div-dlg-show-once-cod
随机推荐
- IOS中无限滚动Scrollview效果
- Mysql数据库之索引优化
- centos6.5下svn的使用说明
- Android实现二维码扫描并登陆网页
- C#动态加载dll扩展系统功能的方法
- JavaScript中捕获/阻止捕获、冒泡/阻止冒泡方法
- JS实现跟随鼠标的链接文字提示框效果
- HttpRequest Get和Post调用其他页面的方法
- 使用PHP制作新闻系统的思路
- 微信小程序 实现tabs选项卡效果实例代码
- JavaScript Function函数类型介绍
- Javascript 对cookie操作详解及实例
- lamp主机是什么 vps如何配置lamp主机
- C语言 结构体和指针详解及简单示例
- Android中的应用认领总结
- PHP 身份验证方面的函数
- 解决Vue2.x父组件与子组件之间的双向绑定问题
- vue.js中ref及$refs的使用方法解析
- 如何通过Jenkins定期清理为None的镜像详解
- JavaScript相等运算符的九条规则示例详解