mdss
♖♘♗♕♔♗♘♖
- Регистрация
- 20 Фев 2007
- Сообщения
- 1.152
- Реакции
- 710
- Автор темы
- #1
Понадобилось сделать, чтобы при поиске товаров тире и точка были равнозначными символами.
Например, чтобы при поиске аааа-вввв также выводило результаты аааа.вввв.
Решение.
Открываем файл /published/SC/html/scripts/core_functions/product_functions.php
Ищем функцию _searchPatternReplace и заменяем ее содержимое на такое:
Например, чтобы при поиске аааа-вввв также выводило результаты аааа.вввв.
Решение.
Открываем файл /published/SC/html/scripts/core_functions/product_functions.php
Ищем функцию _searchPatternReplace и заменяем ее содержимое на такое:
PHP:
function _searchPatternReplace($string){
static $patterns = array('/\\\\/',
'/%/',
'/_/',
'/(^|[^\/]{1})(\?)/',
'/([\/]{1})(\?)/',
'/(^|[^\/]{1})(\*)/',
'/([\/]{1})(\*)/',
'/(^|[^\/]{1})\+/',
'/([\/]{1})\+/',
'/\-/'
);
static $replacements = array('\\\\\\\\',
'\\%',
'\\_',
'\\1_',
'?',
'\\1%',
'*',
'\\1 ',
'+',
'.');
return preg_replace($patterns,$replacements,$string);
//return $res;
//return str_replace(array('%','_','?','%'),array('\\%','\\_','_','%'),$string);
}