大家好我有一个过时/弃用的问题。
我需要将ereg
更改为preg_match
具有该功能的代码是:http://pastebin.com/jMBkJSEr
我厌倦了将ereg
更改为preg_match
,但仅通过更改功能名称无效。
答案 0 :(得分:2)
除了上面列出的那些之外,还有必须更新的eregi,这只是ereg的不区分大小写的版本。因此,将其替换为preg_match和'i'开关,使其不区分大小写。
更改eregi
eregi('RegExp',$ x)
到preg_match(注意第二个之后的“i”)
preg_match('/ RegExp / i',$ x)
答案 1 :(得分:1)
您需要更改:
function tep_sanitize_string($string) {
$string = ereg_replace(' +', ' ', trim($string));
return preg_replace("/[<>]/", '_', $string);
}
到
function tep_sanitize_string($string) {
$string = preg_replace('{ +}', ' ', trim($string));
return preg_replace("/[<>]/", '_', $string);
}
您还可以找到许多其他的ereg_replace调用:
ereg_replace('2037' . '$', $year, date(DATE_FORMAT, mktime($hour, $minute, $second, $month, $day, 2037)));
ereg_replace('"', ' ', $pieces[$k]);
ereg_replace('(' . implode('|', $from) . ')', $to, $string);
ereg_replace('[^0-9]', '', $number);
ereg_replace('-language', '-' . $languages[$j]['directory'], $cached_file);
ereg_replace('(' . implode('|', $from) . ')', $to, $string);
ereg_replace("\r","",$which_text);
ereg_replace('-language', '-' . $language, $cache_blocks[$i]['file']);
ereg_replace(",\n$", '', $schema);
ereg_replace("\n#", "\n".'\#', $row);
ereg_replace(', $', '', $schema);
您应该将这些更改为
preg_replace('{2037\z}', $year, date(DATE_FORMAT, mktime($hour, $minute, $second, $month, $day, 2037)));
str_replace('"', ' ', $pieces[$k]);
preg_replace('{(' . implode('|', $from) . ')}', $to, $string);
preg_replace('{\D}', '', $number);
str_replace('-language', '-' . $languages[$j]['directory'], $cached_file);
str_replace("\r","",$which_text);
str_replace('-language', '-' . $language, $cache_blocks[$i]['file']);
preg_replace("{,\n\z}", '', $schema);
preg_replace("{\n#}", "\n".'\#', $row);
preg_replace('{, \z}', '', $schema);
希望这是你想要的
编辑:
只有一个变化:
ereg('RegExp', $x $y);
到
preg_match('/RegExp/', $x $y);
“ereg_replace”
相同ereg_replace('RegExp', $x, $y);
到
preg_replace('/RegExp/', $x, $y);
希望你明白。
编辑:
此外,拆分也已折旧。你应该改变:
$pieces = split('[[:space:]]+', $search_str);
到
$pieces = preg_split("/[\s,]+/", $search_str);
希望这些东西可以帮助你
答案 2 :(得分:0)
新版oscommerce已将eregi
更改为preg_match
eregi('eregi data here ', $x)
preg_match('/here your eregi data/', $x)