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