• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/sqlwhere.php
  • Класс: CAllSQLWhere
  • Вызов: CAllSQLWhere::matchLike
public function matchLike($field, $fieldValue)
{
	if(!is_array($fieldValue))
	{
		$fieldValue = array($fieldValue);
	}
	$orValues = array();

	foreach($fieldValue as $value)
	{
		//split to words by any non-word symbols
		$andValues = FilterHelper::splitWords($value);
		if(!empty($andValues))
		{
			$andValues = array_map(
				function($val)
				{
					return CSQLWhere::ForLIKE(mb_strtoupper($val));
				},
				$andValues
			);

			$orValues[] = "(".$this->_Upper($field)." like '%".implode("%' ESCAPE '!' AND ".$this->_Upper($field)." like '%", $andValues)."%' ESCAPE '!')";
		}
	}
	if(!empty($orValues))
	{
		return "(".implode("n OR ", $orValues).")";
	}

	return '';
}