- Модуль: 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;
}