2012-01-30 5 views
0

Привет всем У меня есть вопрос с устаревшей/устаревшей функцией.изменить ereg to preg_match oscommerce

мне нужно изменить ereg к preg_match

код с помощью функции заключается в следующем: http://pastebin.com/jMBkJSEr

Я устал менять ereg в preg_match, но он не работает, просто изменив имя функции.

+0

В которой Funtion в интернет-магазина tep_sanitize_string ?? – Sabari

+0

Возможный дубликат [Преобразование выражений ereg в preg] (http://stackoverflow.com/questions/6270004/converting-ereg-expressions-to-preg) – hakre

+0

yes is oscommerce проблема находится на advanced_search_result.php в строке 306 –

ответ

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); 

Надежда это то, что вы хотите

EDIT:

Существует только одно изменение:

ereg('RegExp', $x $y); 

в

preg_match('/RegExp/', $x $y); 

же для «ereg_replace»

ereg_replace('RegExp', $x, $y); 

в

preg_replace('/RegExp/', $x, $y); 

Надеется, что вы получите.

EDIT:

Также раскол амортизируется. Вы должны изменить:

$pieces = split('[[:space:]]+', $search_str); 

в

$pieces = preg_split("/[\s,]+/", $search_str); 

Надежда эти вещи помогают вам

+0

спасибо, но вчера я это делаю, сегодня ошибка http://pastebin.com/r31FeqZH –

2

в дополнение к тем, которые описаны выше, есть также eregi, который должен быть обновлен, который является только регистронезависимы версия ereg. Итак, замените его на preg_match и «i», чтобы сделать регистр нечувствительным.

Изменить eregi

eregi ('RegExp', $ х)

к preg_match (обратите внимание на "я" после того, как второй /)

preg_match ('/ RegExp/i ', $ x)

0

Изменена новая версия oscommerce eregi к preg_match

eregi('eregi data here ', $x) 
preg_match('/here your eregi data/', $x) 
Смежные вопросы