1С 8.3 Найти в тексте ссылки HTTP
Данные > Примеры кода 1С > 1С 8.3 HTTP
Перейти в раздел примеры кода 1С 8.3:
Поиск ссылок в строке в 1С 8.3:
Функция НайтиСсылкиHTTP(ВходящийТекст)
МассивСсылок = Новый Массив;
ПодстрокаПоиска = "http";
НачПозПоиска = 1;
КонПозПоиска = СтрДлина(ВходящийТекст);
Пока Истина Цикл
Если НачПозПоиска > КонПозПоиска Тогда
Прервать;
КонецЕсли;
НачальнаяПозиция = СтрНайти(ВходящийТекст, ПодстрокаПоиска, НаправлениеПоиска.СНачала, НачПозПоиска);
Если НачальнаяПозиция > 0 Тогда
ЧислоСимволов = СтрДлина(ПодстрокаПоиска);
Пока Истина Цикл
ЧислоСимволов = ЧислоСимволов + 1;
Если (НачПозПоиска + ЧислоСимволов - 1 > КонПозПоиска)
Или ПустаяСтрока(Прав(Сред(ВходящийТекст, НачальнаяПозиция, ЧислоСимволов), 1)) Тогда
Прервать;
КонецЕсли;
КонецЦикла;
МассивСсылок.Добавить(Сред(ВходящийТекст, НачальнаяПозиция, ЧислоСимволов - 1));
НачПозПоиска = НачальнаяПозиция + ЧислоСимволов - 1;
Иначе
Прервать;
КонецЕсли;
КонецЦикла;
Возврат МассивСсылок;
КонецФункции
МассивСсылок = Новый Массив;
ПодстрокаПоиска = "http";
НачПозПоиска = 1;
КонПозПоиска = СтрДлина(ВходящийТекст);
Пока Истина Цикл
Если НачПозПоиска > КонПозПоиска Тогда
Прервать;
КонецЕсли;
НачальнаяПозиция = СтрНайти(ВходящийТекст, ПодстрокаПоиска, НаправлениеПоиска.СНачала, НачПозПоиска);
Если НачальнаяПозиция > 0 Тогда
ЧислоСимволов = СтрДлина(ПодстрокаПоиска);
Пока Истина Цикл
ЧислоСимволов = ЧислоСимволов + 1;
Если (НачПозПоиска + ЧислоСимволов - 1 > КонПозПоиска)
Или ПустаяСтрока(Прав(Сред(ВходящийТекст, НачальнаяПозиция, ЧислоСимволов), 1)) Тогда
Прервать;
КонецЕсли;
КонецЦикла;
МассивСсылок.Добавить(Сред(ВходящийТекст, НачальнаяПозиция, ЧислоСимволов - 1));
НачПозПоиска = НачальнаяПозиция + ЧислоСимволов - 1;
Иначе
Прервать;
КонецЕсли;
КонецЦикла;
Возврат МассивСсылок;
КонецФункции
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник