• Модуль: location
  • Путь к файлу: ~/bitrix/modules/location/lib/entity/address/converter/stringtemplateconverter.php
  • Класс: BitrixLocationEntityAddressConverterStringTemplateConverter
  • Вызов: StringTemplateConverter::parseFieldListDelimiter
private function parseFieldListDelimiter(array $context): array
{
	$markerStartPosition = $context['position'];
	$matches = null;
	// [", ", [ADDRESS_LINE_1:N , ADDRESS_LINE_2,"Text",LOCALITY,ADM_LEVEL_2]]
	// Are looking for         ^^^
	if (preg_match(
			'/' . self::REGEX_COMMA_AMONG_EMPTY_SPACE . '/ms' . BX_UTF_PCRE_MODIFIER,
			$context['template'],
			$matches,
			PREG_OFFSET_CAPTURE,
			$context['position']
		)
		&& $matches[0][1] === $markerStartPosition
	)
	{
		$context['position'] = $markerStartPosition + strlen($matches[0][0]);
	}
	else
	{
		$this->addContextError($context, self::ERR_PARSE_GROUP_FIELD_LIST_DELIMITER, $markerStartPosition);
	}

	return $context;
}