ЗаменитьНедопустимыеСимволыXML (БСП)

Автор: 1С
ОбщийМодуль.ОбщегоНазначенияКлиентСервер
БСП

Заменить недопустимые символы xml. Заменяет недопустимые символы в XML-строке на заданные символы.

// Заменяет недопустимые символы в XML-строке на заданные символы.
//
// Параметры:
//   Текст - Строка - строка, в которой требуется выполнить замену недопустимых символов.
//   СимволЗамены - Строка - строка, на которую требуется выполнить замену недопустимого символа в XML-строке.
// 
// Возвращаемое значение:
//    Строка - строка, полученная заменой недопустимых символов в XML-строке.
//
Функция ЗаменитьНедопустимыеСимволыXML(Знач Текст, СимволЗамены = " ") Экспорт
	
#Если Не ВебКлиент Тогда
	ПозицияНачала = 1;
	Позиция = НайтиНедопустимыеСимволыXML(Текст, ПозицияНачала);
	Пока Позиция > 0 Цикл
		НедопустимыйСимвол = Сред(Текст, Позиция, 1);
		Текст = СтрЗаменить(Текст, НедопустимыйСимвол, СимволЗамены);
		ПозицияНачала = Позиция + СтрДлина(СимволЗамены);
		Если ПозицияНачала > СтрДлина(Текст) Тогда
			Прервать;
		КонецЕсли;
		Позиция = НайтиНедопустимыеСимволыXML(Текст, ПозицияНачала);
	КонецЦикла;
	
	Возврат Текст;
#Иначе
	// Коды символов от 0 до 2^16-1, которые метод НайтиНедопустимыеСимволыXML
	// считает недопустимыми: 0-8, 11-12, 14-31, 55296-57343.
	Итог = "";
	ДлинаСтроки = СтрДлина(Текст);
	
	Для НомерСимвола = 1 По ДлинаСтроки Цикл
		Символ = Сред(Текст, НомерСимвола, 1);
		КодСимвола = КодСимвола(Символ);
		
		Если КодСимвола < 9
		 Или КодСимвола > 10    И КодСимвола < 13
		 Или КодСимвола > 13    И КодСимвола < 32
		 Или КодСимвола > 55295 И КодСимвола < 57344 Тогда
			
			Символ = СимволЗамены;
		КонецЕсли;
		Итог = Итог + Символ;
	КонецЦикла;
	
	Возврат Итог;
#КонецЕсли
	
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

ЗаменитьНедопустимыеСимволыВИмениФайла (БСП)

УдалитьНедопустимыеСимволы (БСП)

Удалить недопустимые символы XML

УдалитьНедопустимыеСимволыXML (БСП)

ПолучитьНедопустимыеСимволыВИмениФайла (БСП)

НайтиНедопустимыеСимволыВИмениФайла (БСП)

ЗаменитьОдниСимволыДругими (БСП)

ПреобразоватьСтрокуВДопустимоеНаименованиеКолонки (БСП)

Удаление повторяющихся символов в начале или конце текста

TurboConf ИР адаптер 1.43