• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/entity_query.php
  • Класс: CEntityQuery
  • Вызов: CEntityQuery::replaceSelectAliases
protected function replaceSelectAliases($query)
{
	$replaced = array();
	$length = (int) $this->DB->alias_length;

	preg_match_all(
		'/ AS '.preg_quote($this->DB->escL).'([a-z0-9_]{'.($length+1).',})'.preg_quote($this->DB->escR).'/i',
		$query, $matches
	);

	if (!empty($matches[1]))
	{
		foreach ($matches[1] as $alias)
		{
			$newAlias = 'FALIAS_'.count($replaced);
			$replaced[$newAlias] = $alias;

			$query = str_replace(
				' AS ' . $this->DB->escL . $alias . $this->DB->escR,
				' AS ' . $this->DB->escL . $newAlias . $this->DB->escR . '/* '.$alias.' */',
				$query
			);
		}
	}

	return array($query, $replaced);
}