0
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,但正则表达式会有所不同,对吧?

我将如何修补这个?

4

1 回答 1

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 样式相反),因此您可能需要对表达式进行一些细微的调整。

于 2013-08-20T23:02:28.433 回答