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

30.10.12

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

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

Файлы

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

Наименование Скачано Купить файл
УдалениеHTMLТегов(толстый_клиент).epf
.epf 6,93Kb
60 2 500 руб. Купить
УдалениеHTMLТегов(тонкий_клиент).epf
.epf 6,60Kb
32 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

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

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

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

Вступайте в нашу телеграмм-группу Инфостарт

См. также

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

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

24900 руб.

20.08.2024    73394    371    170    

321

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

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

16500 руб.

02.09.2020    265240    1476    421    

1175

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26

22570 руб.

06.10.2023    39465    111    48    

125

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

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    60790    122    36    

135

Инструментарий разработчика Разработка Администрирование веб-серверов Системный администратор Программист Бизнес-аналитик Руководитель проекта 1С 8.3 Платные (руб)

Analyzer 1C сводит выгрузку 1С — основную конфигурацию и все расширения — в единый граф знаний. Любой запрос по связям за доли секунды, с пометками «Доб.» / «Заимств.» / «Переопределено». Новое в 2.0 — обновление поставки: сравнение и объединение версий деревом «как в Конфигураторе» с выгрузкой плана решений; поиск конфликтов из-за перехватов расширений и висячих ссылок; загрузка из бинарных .cf/.cfe; циклические зависимости. Плюс анализ влияния, запросы BSL, роли и RLS, граф вызовов. Минута на развёртывание через Docker без необходимости подключения к Интернет. Любая 1С:Предприятие 8.3+.

14000 руб.

17.04.2026    7517    31    42    

46

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

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

17000 руб.

10.11.2023    26053    97    46    

104

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5.

6000 руб.

25.02.2026    4414    16    1    

20

Информационная безопасность Инструменты администратора БД Инструментарий разработчика Учет документов Системный администратор Программист Бизнес-аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С 8.5 Розничная и сетевая торговля (FMCG) Платные (руб)

Контроль ввода данных в 1С: проверка заполнения реквизитов, обязательные поля, контроль перед записью и проведением, запрет проведения документа. Позволяет настраивать любые проверки данных в 1С 8.3/8.5 от обязательных полей до сложных условий – без открытия конфигуратора и написания кода. Готовое расширение, которое подключается и работает сразу.

6000 руб.

15.04.2026    2314    6    0    

21
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Поручик 4612 29.08.12 12:22 Сейчас в теме
(0) Двиг сайта преобразовал HTML-коды
2. Kserken 494 29.08.12 12:32 Сейчас в теме
(1) Поручик, поясните, что вы имели в виду?
3. Поручик 4612 29.08.12 12:41 Сейчас в теме
(2) В таблице символы и HTML-коды одинаковые
4. Kserken 494 29.08.12 12:53 Сейчас в теме
(3) Поручик, да действительно. Спасибо, что заметили. Вечером поменяю. Вот спецсимволы, которые я имел ввиду http://htmlweb.ru/html/symbols.php
7. Поручик 4612 31.10.12 13:40 Сейчас в теме
(2) Что-то у вас там больно простая регулярка.
удалить теги HTML регулярные выражения
5. Yashazz 4927 29.08.12 15:40 Сейчас в теме
Баян. Скоро уже "СтрЗаменить" будем как отдельную публикацию оформлять...
6. Kserken 494 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);
			ТекущаяСтрокаДляОбработки = СтрЗаменить(ТекущаяСтрокаДляОбработки,ТелоТэга,"");
		Иначе
			// некорректный тэг
			Возврат ТекущаяСтрокаДляОбработки;
		КонецЕсли;
			
	КонецЦикла;
Показать
Для отправки сообщения требуется регистрация/авторизация