Удаление HTML тегов и спецсимволов с использованием RegExp (регулярных выражений)

30.10.12

Разработка - Инструментарий разработчика

Удаляем из файла HTML - теги и спецсимволы, оставляем только текст.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
УдалениеHTMLТегов(толстый_клиент).epf
.epf 6,93Kb
59
59 Скачать (1 SM) Купить за 1 850 руб.
УдалениеHTMLТегов(тонкий_клиент).epf
.epf 6,60Kb
31
31 Скачать (1 SM) Купить за 1 850 руб.

Регулярные выражения (Regular Expressions) являются известным и мощным средством для поиска, тестирования и замены подстрок. Эта технология доступна и в 1С - через объект VBScript.RegExp. Нужный объект уже встроен в современные версии Windows (начиная с Windows 98), и устанавливать дополнительно ничего не нужно.

В данном примере, собственно, и рассматривается пример удаления HTML тегов и спецсимволов с помощью RegExp.

Таблицу спецсимволов HTML можно посмотреть здесь: http://htmlweb.ru/html/symbols.php

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

12000 руб.

02.09.2020    172087    964    403    

924

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    14663    109    46    

108

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    17347    43    15    

75

Инструментарий разработчика Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    27370    96    48    

138

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

15000 руб.

10.11.2023    11957    45    33    

67

SALE! %

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3840 руб.

14.01.2013    191346    1153    0    

920

Инструментарий разработчика Программист 8.3.14 Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

20000 руб.

07.10.2021    18117    7    32    

42

Инструментарий разработчика Платформа 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    1153    2    0    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Поручик 4661 29.08.12 12:22 Сейчас в теме
(0) Двиг сайта преобразовал HTML-коды
2. Kserken 489 29.08.12 12:32 Сейчас в теме
(1) Поручик, поясните, что вы имели в виду?
3. Поручик 4661 29.08.12 12:41 Сейчас в теме
(2) В таблице символы и HTML-коды одинаковые
4. Kserken 489 29.08.12 12:53 Сейчас в теме
(3) Поручик, да действительно. Спасибо, что заметили. Вечером поменяю. Вот спецсимволы, которые я имел ввиду http://htmlweb.ru/html/symbols.php
7. Поручик 4661 31.10.12 13:40 Сейчас в теме
5. Yashazz 4804 29.08.12 15:40 Сейчас в теме
Баян. Скоро уже "СтрЗаменить" будем как отдельную публикацию оформлять...
6. Kserken 489 29.08.12 16:38 Сейчас в теме
(5) Yashazz, по-первых - не баян, т.к. на сайте примера удаления тегов и спецсимволов с помощью регулярных выражений нет, а во-вторых для новичков будет полезно разобрать более удобные способы поиска и замены значений в тексте, чем СтрЗаменить().
8. Alex141516 06.05.15 18:24 Сейчас в теме
искал тоже как получить чистый текст из HTML, не совсем в тему может - нашел на мисте - Текст = ЭлементыФормы.ПолеHTMLдокумента.Документ.documentElement.innerText
9. Varies 27.10.17 07:15 Сейчас в теме
Для извлечения текста из почтовых сообщений подходит такой вариант:

ЧтениеHTML = Новый ЧтениеHTML;
ЧтениеHTML.УстановитьСтроку(ТекстHTML);
ПостроительDOM = Новый ПостроительDOM;
ДокументHTML = ПостроительDOM.Прочитать(ЧтениеHTML);
Текст = ДокументHTML.Тело.ТекстовоеСодержимое;
ivlog; user598764_ka-ma; Nasty_d; phoenix_new; Irwin; nporrep; +6 Ответить
10. fenix76 18.11.18 18:55 Сейчас в теме
Вопрос, данная обработка под УТ 11 будет работать?
11. dour-dead 272 04.10.19 15:37 Сейчас в теме
Удаление тегов из строки html


&НаСервере
Процедура УдалитьБлокИзHTML(ТекстHTML, ИмяБлока)
	
	ЧтениеHTML     = Новый ЧтениеHTML;
	ЧтениеHTML.УстановитьСтроку(ТекстHTML);
	
	ПостроительDOM = Новый ПостроительDOM;
	ДокументHTML   = ПостроительDOM.Прочитать(ЧтениеHTML);
	ЭлементыDOM    =  ДокументHTML.ПолучитьЭлементыПоИмени(ИмяБлока);
	
	Для Каждого ЭлементDOM Из ЭлементыDOM Цикл
		ЭлементDOM.ТекстовоеСодержимое= "";
	КонецЦикла;
	
	ЗаписьDOM = Новый ЗаписьDOM;
	ЗаписьHTML = Новый ЗаписьHTML;
	ЗаписьHTML.УстановитьСтроку();
	ЗаписьDOM.Записать(ДокументHTML,ЗаписьHTML);
	ТекстHTML = ЗаписьHTML.Закрыть();
	
КонецПроцедуры
Показать



например удалит <test> из текста

html
12. prog1c_vl 25 26.04.22 17:00 Сейчас в теме
Возникла необходимость вычистить строки тестового файла (словари dsl) от тэгов, нужно оставить только текстовое содержимое, я применил вот такой вариант:
&НаКлиенте
Функция ВычиститьСтрокуОтТэгов(ТекущаяСтрокаДляОбработки)
	
	Пока СтрНайти(ТекущаяСтрокаДляОбработки, "[")> 0 Цикл
		
		НомерСимволаНачалаТэга = СтрНайти(ТекущаяСтрокаДляОбработки, "[",,,1);
		НомерСимволаКонцаТэга = СтрНайти(ТекущаяСтрокаДляОбработки, "]",,,1);
		
		ТелоТэга = Сред(ТекущаяСтрокаДляОбработки, НомерСимволаНачалаТэга, НомерСимволаКонцаТэга-НомерСимволаНачалаТэга+1);
		ТекущаяСтрокаДляОбработки = СтрЗаменить(ТекущаяСтрокаДляОбработки,ТелоТэга,"");
			
	КонецЦикла;
	
	Возврат ТекущаяСтрокаДляОбработки;
	
КонецФункции
Показать
13. prog1c_vl 25 02.05.22 09:44 Сейчас в теме
(12) Немного доработал функцию:
	Пока СтрНайти(ТекущаяСтрокаДляОбработки, "[")> 0 Цикл
		
		НомерСимволаНачалаТэга = СтрНайти(ТекущаяСтрокаДляОбработки, "[",,,1);
		НомерСимволаКонцаТэга = СтрНайти(ТекущаяСтрокаДляОбработки, "]",,,1);
		ЧислоСимволов = НомерСимволаКонцаТэга-НомерСимволаНачалаТэга+1;
		Если ЧислоСимволов > 0 Тогда
			ТелоТэга = Сред(ТекущаяСтрокаДляОбработки, НомерСимволаНачалаТэга, НомерСимволаКонцаТэга-НомерСимволаНачалаТэга+1);
			ТекущаяСтрокаДляОбработки = СтрЗаменить(ТекущаяСтрокаДляОбработки,ТелоТэга,"");
		Иначе
			// некорректный тэг
			Возврат ТекущаяСтрокаДляОбработки;
		КонецЕсли;
			
	КонецЦикла;
Показать
Оставьте свое сообщение