将ereg更改为preg_match oscommerce

时间:2012-01-30 16:03:42

标签: php html apache

大家好我有一个过时/弃用的问题。

我需要将ereg更改为preg_match

具有该功能的代码是:http://pastebin.com/jMBkJSEr

我厌倦了将ereg更改为preg_match,但仅通过更改功能名称无效。

3 个答案:

答案 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)