php函数弃用,将ereg_replace更改为preg_replace

时间:2013-08-20 23:01:32

标签: php deprecated x-cart

if ($js_enabled == "Y") {
    $qry_string = ereg_replace("(&*)js=y", "", $QUERY_STRING);
    $js_update_link = $PHP_SELF."?".($qry_string?"$qry_string&":"")."js=n";
}
else {
    $qry_string = ereg_replace("(&*)js=n", "", $QUERY_STRING);
    $js_update_link = $PHP_SELF."?".($qry_string?"$qry_string&":"")."js=y";
}

ereg_replace已被弃用,我想将其切换为preg_replace,但正则表达式会不同吗?

我该怎么修补这个?

1 个答案:

答案 0 :(得分:1)

if ($js_enabled == "Y") {
    $qry_string = preg_replace("/(&*)js=y/", "", $QUERY_STRING);
    $js_update_link = $PHP_SELF."?".($qry_string?"$qry_string&":"")."js=n";
}
else {
    $qry_string = preg_replace("/(&*)js=n/", "", $QUERY_STRING);
    $js_update_link = $PHP_SELF."?".($qry_string?"$qry_string&":"")."js=y";
}

preg速度更快,使用PERL风格的语法(与旧的Postfix风格相反),因此您可能需要对表达式进行一些微调。