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

30.10.12

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

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

Скачать файлы

Наименование Файл Версия Размер
УдалениеHTMLТегов(толстый_клиент).epf
.epf 6,93Kb
59
.epf 6,93Kb 59 Скачать
УдалениеHTMLТегов(тонкий_клиент).epf
.epf 6,60Kb
31
.epf 6,60Kb 31 Скачать

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

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

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

См. также

SALE! 20%

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

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

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    122159    670    389    

714

SALE! 25%

Infostart PrintWizard

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

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

18000 15300 руб.

06.10.2023    7293    21    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

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

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

10000 8000 руб.

10.11.2023    3537    11    1    

34

SALE! 30%

PowerTools

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

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

3600 2520 руб.

14.01.2013    177749    1073    0    

849

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99347    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18113    6    8    

39

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28110    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23602    15    15    

32
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Поручик 4670 29.08.12 12:22 Сейчас в теме
(0) Двиг сайта преобразовал HTML-коды
2. Kserken 486 29.08.12 12:32 Сейчас в теме
(1) Поручик, поясните, что вы имели в виду?
3. Поручик 4670 29.08.12 12:41 Сейчас в теме
(2) В таблице символы и HTML-коды одинаковые
4. Kserken 486 29.08.12 12:53 Сейчас в теме
(3) Поручик, да действительно. Спасибо, что заметили. Вечером поменяю. Вот спецсимволы, которые я имел ввиду http://htmlweb.ru/html/symbols.php
7. Поручик 4670 31.10.12 13:40 Сейчас в теме
5. Yashazz 4709 29.08.12 15:40 Сейчас в теме
Баян. Скоро уже "СтрЗаменить" будем как отдельную публикацию оформлять...
6. Kserken 486 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.Тело.ТекстовоеСодержимое;
user598764_ka-ma; Nasty_d; phoenix_new; Irwin; nporrep; +5 Ответить
10. fenix76 18.11.18 18:55 Сейчас в теме
Вопрос, данная обработка под УТ 11 будет работать?
11. dour-dead 271 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 28 26.04.22 17:00 Сейчас в теме
Возникла необходимость вычистить строки тестового файла (словари dsl) от тэгов, нужно оставить только текстовое содержимое, я применил вот такой вариант:
&НаКлиенте
Функция ВычиститьСтрокуОтТэгов(ТекущаяСтрокаДляОбработки)
	
	Пока СтрНайти(ТекущаяСтрокаДляОбработки, "[")> 0 Цикл
		
		НомерСимволаНачалаТэга = СтрНайти(ТекущаяСтрокаДляОбработки, "[",,,1);
		НомерСимволаКонцаТэга = СтрНайти(ТекущаяСтрокаДляОбработки, "]",,,1);
		
		ТелоТэга = Сред(ТекущаяСтрокаДляОбработки, НомерСимволаНачалаТэга, НомерСимволаКонцаТэга-НомерСимволаНачалаТэга+1);
		ТекущаяСтрокаДляОбработки = СтрЗаменить(ТекущаяСтрокаДляОбработки,ТелоТэга,"");
			
	КонецЦикла;
	
	Возврат ТекущаяСтрокаДляОбработки;
	
КонецФункции
Показать
13. prog1c_vl 28 02.05.22 09:44 Сейчас в теме
(12) Немного доработал функцию:
	Пока СтрНайти(ТекущаяСтрокаДляОбработки, "[")> 0 Цикл
		
		НомерСимволаНачалаТэга = СтрНайти(ТекущаяСтрокаДляОбработки, "[",,,1);
		НомерСимволаКонцаТэга = СтрНайти(ТекущаяСтрокаДляОбработки, "]",,,1);
		ЧислоСимволов = НомерСимволаКонцаТэга-НомерСимволаНачалаТэга+1;
		Если ЧислоСимволов > 0 Тогда
			ТелоТэга = Сред(ТекущаяСтрокаДляОбработки, НомерСимволаНачалаТэга, НомерСимволаКонцаТэга-НомерСимволаНачалаТэга+1);
			ТекущаяСтрокаДляОбработки = СтрЗаменить(ТекущаяСтрокаДляОбработки,ТелоТэга,"");
		Иначе
			// некорректный тэг
			Возврат ТекущаяСтрокаДляОбработки;
		КонецЕсли;
			
	КонецЦикла;
Показать
Оставьте свое сообщение