php5.3提示Function ereg() is deprecated Error问题

   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); // 进行过滤

  }

  注意:一定要加'/'开头与结束哦。

  Tips:此问题在php5.2之前版本不会出现。

时间: 2024-08-04 10:25:11

php5.3提示Function ereg() is deprecated Error问题的相关文章

php5.3提示Function ereg() is deprecated Error问题解决方法_php技巧

本文实例讲述了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

php Function eregi() is deprecated 解决方案

首先说下ereg()与eregi()的区别: ereg()字符串对比匹配函数,区分字符串大小写: eregi()字符串对比匹配函数,不区分字符串大小写. 这两个函数在php正则里经常会用到,但是由于php5.3以后的版本不再支持此函数,如果使用此函数会报:Function eregi() is deprecated的错误.如果在php5.3及更高版本使用正则的话,使用preg_match()函数即可. 这是因为php5.3起不再支持eregi()函数,而推荐使用preg_match()函数替代.

Win7安装软件提示“Command Line Option Syntax Error”怎么办?

  不管是使用过很久的电脑还是新买的电脑,都是会出现一些问题的,最常见的要数安装软件问题了,有用户反映说每次安装软件都会提示"Command Line Option Syntax Error"错误,那么当Win7系统安装软件提示"Command Line Option Syntax Error"该怎么办呢?不懂的朋友看看以下文章吧! 问题一:怎么解决在安装软件时出现的Microsoft Visual C++ 2005 Redistributable Command

labview+matlab-在Labview中调用Matlab程序时出错,错误提示Function函数无效

问题描述 在Labview中调用Matlab程序时出错,错误提示Function函数无效 请大神们帮帮忙,这个问题怎么解决啊? 解决方案 http://wenku.baidu.com/link?url=c_f-NBJBOaw_RveWarfinIctyj5GYUQlJagTkpE_eed4JkesENfgIO9JMUYs6uU9bW8onhml7JJ5eO2V80LcmS0GsnYdNwYGEzeUgACOguu

ios 推送证书上传后 为什么还是提示注册失败呢?Error=3000

问题描述 **ios 推送证书上传后 为什么还是提示注册失败呢?Error=3000** 解决方案 推送证书跟注册没关系.你可以百度去搜error 3000,网上有解决的办法.

PE还原Win7系统提示错误还原无法继续Error Number:(19010) 的原因及解决方法

原因分析及解决方法: 1.还原空间不够,有的系统占空间比较大,比如,一般win7安装的要求在20G以上,检查下C盘空间是否足够,如果空间不够也会出现这种提示. 2.检查镜像文件是否损坏,可以用MD5校验工具对比下载页面标示的MD5码是否一致,如不一致,可能是下载过程中出现数据错误,重新下载镜像再次安装试试.   3.硬盘分区表可能出错错误,检查一下硬盘上的分区表,同时查看下分区类型是否是MBR类型,GPT分区是不能安装GHOST镜像系统的.   4.硬盘可能存在坏道,可用DG工具检测并修复硬盘坏

php错误提示:Deprecated: Function eregi() is deprecated

改前: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); // 进行过滤 } 解决方法: 找到代码所在的文件 位置  代码如下 复制代码 functi

php使用session提示[function.session-start]: open解决方法

在使用php做后台管理时会碰到用户登录页面会提示Warning: session_start() [function.session-start]: open...错误了,后面跟着是failed: No such file or directory了,这个是告诉我们目录不存了了,下面我来给各位介绍问题解决方案     如我们我的测试111.php文件如下一段代码 <? session_start(); $_SESSION['admin'] =$_POST['username']; ?> 运行代

Nginx提示:500 Internal Server Error错误的解决方法

  本文章来给大家总结了大量关于导致nginx中提示500 Internal Server Error错误的原因总结与解决方法分析有需要了解的朋友可参考参考 现在越来越多的站点开始用 Nginx ,("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了.Igor 将源代码以类BSD许可证的形