Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
最新PHP5.4.11版本的旧PHP代码存在问题_Php_Regex - Fatal编程技术网

最新PHP5.4.11版本的旧PHP代码存在问题

最新PHP5.4.11版本的旧PHP代码存在问题,php,regex,Php,Regex,我在9年前使用过一个PHP脚本 在将PHP版本更新为最新的稳定版本(PHP5.4.1.1)后,我的脚本不再工作 我发现了问题所在,有人能帮我把这段老PHP代码转换成最新的PHP5.4.11吗 if ((strlen($user_name)<$nick_min_length) or (strlen($user_name)>$nick_max_length)) { $error_text ="$w_incorrect_nick<br><a href=\"inde

我在9年前使用过一个PHP脚本

在将PHP版本更新为最新的稳定版本(PHP5.4.1.1)后,我的脚本不再工作

我发现了问题所在,有人能帮我把这段老PHP代码转换成最新的PHP5.4.11吗

if ((strlen($user_name)<$nick_min_length) or (strlen($user_name)>$nick_max_length)) {
    $error_text ="$w_incorrect_nick<br><a href=\"index.php\">$w_try_again</a>";
    include($file_path."designes/".$design."/error_page.php");
    exit;
}
if (ereg("[^".$nick_available_chars."]", $user_name)) {
    $error_text ="$w_incorrect_nick<br><a href=\"index.php\">$w_try_again</a>";
    include($file_path."designes/".$design."/error_page.php");
    exit;
}
if (strtolower($user_name) == strtolower(strip_tags($w_rob_name))) {
    $error_text ="$w_incorrect_nick<br><a href=\"index.php\">$w_try_again</a>";
    include($file_path."designes/".$design."/error_page.php");
    exit;
}
if((strlen($user_name)$nick_max_length)){
$error_text=“$w_error_nick
”; 包括($file_path.designes/“$design.”/error_page.php); 出口 } 如果(ereg(“[^”$nick\u available\u chars.]”,$user\u name)){ $error_text=“$w_error_nick
”; 包括($file_path.designes/“$design.”/error_page.php); 出口 } if(strtolower($user_name)==strtolower(strip_标签($w_rob_name))){ $error_text=“$w_error_nick
”; 包括($file_path.designes/“$design.”/error_page.php); 出口 }
应该是:

if (preg_match("/[^" . preg_quote($nick_available_chars) . "]/", $user_name)) {
ereg()
已弃用,不应使用。另外,为了确保变量中的特殊字符被正确转义,以便使用正则表达式,我在本例中使用了
/

应该是:

if (preg_match("/[^" . preg_quote($nick_available_chars) . "]/", $user_name)) {

ereg()
已弃用,不应使用。另外,为了确保变量中的特殊字符被正确转义,以便使用和正则表达式需要,我将
/
放在本例中。

问题在于
ereg
现在已弃用,可以在此版本中删除


使用
preg\u match
而不是
ereg
问题出在
ereg
中,现在已弃用,可以在此版本中删除


使用
preg_match
而不是
ereg

PHP会出现什么错误?看看你的代码,ereg有问题,因为它已经被弃用了,试着使用其他函数,比如preg_*可能是因为PHP5.3而弃用的吗?看起来像“给我一个代码”-投票关闭。PHP出现了什么错误?查看您的代码,ereg出现了问题,因为它已被弃用,请尝试使用其他函数,如preg_*PHP 5.3是否已弃用?看起来像“给我代码”-投票关闭。