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

内容摘要
这篇文章主要为大家详细介绍了php5.3提示Function ereg() is deprecated Error问题,具有一定的参考价值,可以用来参考一下。

对php5.3提示Function ereg() is deprecated Err
文章正文

这篇文章主要为大家详细介绍了php5.3提示Function ereg() is deprecated Error问题,具有一定的参考价值,可以用来参考一下。

对php5.3提示Function ereg() is deprecated Error问题对此感兴趣的朋友,看看idc笔记做的技术笔记!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相比,后者在正则的前后分别增加了两个"/"符号,不能缺少。例改前:

/**
* php5.3提示Function ereg() is deprecated Error问题
*
* @param 
* @arrange 512-笔记网: 512PiC.com
**/
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); // 进行过滤 
}
/***   来自php教程(www.idcnote.com)   ***/
解决方法:找到代码所在的文件 位置

/**
* php5.3提示Function ereg() is deprecated Error问题
*
* @param 
* @arrange 512-笔记网: 512PiC.com
**/
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); // 进行过滤 
}
/***   来自php教程(www.idcnote.com)   ***/
注意:一定要加'/'开头与结束哦。Tips:此问题在php5.2之前版本不会出现。

注:关于php5.3提示Function ereg() is deprecated Error问题的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!