helpf.pro
Регистрация
 0 
Распечатать

1С 8.x : Функция очищает текст в формате HTML от тегов и возвращает неформатированный текст

Работая с html данными, бывает необходимо получить только чистый текст, исключив все теги и скрипты. 

Ниже приведена универсальная функция, оставляющая только текст:

Код 1C v 8.х
 // Очищает текст в формате HTML от тегов и возвращает неформатированный текст. 
Функция ИзвлечьТекстИзHTML(Знач ИсходныйТекст) Экспорт
Результат = "";

Текст = НРег(ИсходныйТекст);

// отрезаем всё что не body
Позиция = Найти(Текст, "<body");
Если Позиция > 0 Тогда
Текст = Сред(Текст, Позиция + 5);
ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 5);
Позиция = Найти(Текст, ">");
Если Позиция > 0 Тогда
Текст = Сред(Текст, Позиция + 1);
ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 1);
КонецЕсли;
КонецЕсли;

Позиция = Найти(Текст, "</body>");
Если Позиция > 0 Тогда
Текст = Лев(Текст, Позиция - 1);
ИсходныйТекст = Лев(ИсходныйТекст, Позиция - 1);
КонецЕсли;

// вырезаем скрипты
Позиция = Найти(Текст, "<script");
Пока Позиция  > 0 Цикл
ПозицияЗакрывающегоТега = Найти(Текст, "</script>");
Текст = Лев(Текст, Позиция - 1) + Сред(Текст, ПозицияЗакрывающегоТега + 9);
ИсходныйТекст = Лев(ИсходныйТекст, Позиция - 1) + Сред(ИсходныйТекст, ПозицияЗакрывающегоТега + 9);
Позиция = Найти(Текст, "<script");
КонецЦикла;

// вырезаем все теги
Позиция = Найти(Текст, "<");
Пока Позиция > 0 Цикл
Результат = Результат + Лев(ИсходныйТекст, Позиция-1);
Текст = Сред(Текст, Позиция + 1);
ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 1);
Позиция = Найти(Текст, ">");
Если Позиция > 0 Тогда
Текст = Сред(Текст, Позиция + 1);
ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 1);
КонецЕсли;
Позиция = Найти(Текст, "<");
КонецЦикла;
Результат = Результат + ИсходныйТекст;

Возврат СокрЛП(Результат);
КонецФункции
Разместил:   Версии: | 8.x | 8.2 УП | 8.3 |  Дата:   Прочитано: 12692
 0 
Распечатать
Возможно, вас также заинтересует
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 50
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
1C и Google Maps 21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш
1C медленно работает по сети с базой на SQL Server 22
Данное обстоятельство может быть обусловлено многими причинами. Одна из них - неоптимальная настройка MS SQL . Перечислим неоптимальности в настройке: 1) Неправильно указанный сетевой протокол, используемый для взаимодействия 1С с SQL Server. П
COM-подключение к базе 7.7 из 8.2 1С 7
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе=" D:ВашаБаза1с77" ; Пользователь=
Excel файл как Внешний источник данных 16
Подключимся и загрузим из файла Excel данные в таблицу значений 1С. Сделать теперь это очень просто. 1. В конфигурации добавляет новый объект метаданных типа " Внешние источники данных" и назовем его просто " Excel" . https://helpf.pro/uploads/img
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.