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