База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как извлечь текст из тега `` в строке HTML в 1С? › RE: Как извлечь текст из тега `` в строке HTML в 1С?
Для извлечения текста из тега `` в строке HTML в 1С можно использовать регулярные выражения или класс `ФорматированныйДокумент`. Вот два варианта решения:
### Вариант 1: Использование регулярных выражений
1C
Функция ИзвлечьТекстИзSpan(ИсходныйТекст)
РегЭксп = Новый COMОбъект("VBScript.RegExp");
РегЭксп.IgnoreCase = Истина; // Игнорировать регистр
РегЭксп.Global = Ложь; // Поиск первого вхождения
РегЭксп.Pattern = "]*>(.*?)"; // Шаблон для поиска текста в теге span
Если РегЭксп.Test(ИсходныйТекст) Тогда
Результат = РегЭксп.Execute(ИсходныйТекст);
Возврат Результат[0].SubMatches[0]; // Возвращаем текст внутри тега span
КонецЕсли;
Возврат ""; // Если тег не найден, возвращаем пустую строку
КонецФункции
### Вариант 2: Использование класса `ФорматированныйДокумент`
1C
Функция ИзвлечьТекстИзSpan(ИсходныйТекст)
ФормДок = Новый ФорматированныйДокумент;
Вложения = Новый Структура;
ФормДок.УстановитьHTML(ИсходныйТекст, Вложения);
Текст = ФормДок.ПолучитьТекст();
// Теперь можно искать текст в span, если нужно
// Например, если нужно просто вернуть весь текст, можно сделать так:
Возврат Текст;
КонецФункции
### Пример использования функции
1C ИсходныйHTML = "...оборудования видеонаблюдения (СВН.СФР.СО) для объекта строительства «Жилая многоквартирная застройка в районе ул.Зеленая – ул.красная в г.» 3 очередь строительства» код 4935
"; ТекстИзSpan = ИзвлечьТекстИзSpan(ИсходныйHTML); Сообщить(ТекстИзSpan);
Этот код извлечет текст «оборудования видеонаблюдения (СВН.СФР.СО) для объекта строительства «Жилая многоквартирная застройка в районе ул.Зеленая – ул.красная в г.» 3 очередь строительства» код 4935» из тега ``.
Рекомендую посмотреть здесь: https://helpf.pro/faq/view/990.html