• Модуль: location
  • Путь к файлу: ~/bitrix/modules/location/lib/entity/address/converter/stringtemplateconverter.php
  • Класс: BitrixLocationEntityAddressConverterStringTemplateConverter
  • Вызов: StringTemplateConverter::getAlterFieldValue
private function getAlterFieldValue(Address $address, int $fieldType): string
{
	$localityValue = $address->getFieldValue(FieldType::LOCALITY);
	$localityValue = is_string($localityValue) ? $localityValue : '';
	$result = $address->getFieldValue($fieldType);
	$result = is_string($result) ? $result : '';
	if ($result !== '' && $localityValue !== '')
	{
		$localityValueUpper = mb_strtoupper($localityValue);
		$localityValueUpperLength = mb_strlen($localityValueUpper);
		$targetValueUpper = mb_strtoupper($result);
		$targetValueUpperLength = mb_strlen($targetValueUpper);
		if ($targetValueUpperLength >= $localityValueUpperLength)
		{
			$targetValueSubstr = mb_substr(
				$targetValueUpper,
				$targetValueUpperLength - $localityValueUpperLength
			);
			if ($localityValueUpper === $targetValueSubstr)
			{
				$result = '';
			}
		}
	}

	return $result;
}