- Удаление HTML тегов и спецсимволов с использованием RegExp (регулярных выражений)
- Скачать файлы
- См. также
- INFOSTART TECH EVENT 2023, 11-13 октября, Санкт-Петербург
- Infostart Toolkit
- Онлайн-интенсив «DevOps для 1С». с 4 сентября по 17 октября 2023 г.
- PowerTools
- Многопоточность. Универсальный «Менеджер потоков» 2.1
- Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)
- Менеджер конфигураций 1С
- Программное формирование существующих печатных форм
- Бустер Конвертации данных 3 (Infostart Toolkit)
- Универсальный редактор данных (УРД)
- Регулярные выражения для удаления тегов
- Удаление тегов
- Результат:
- Удаление атрибутов
- Результат:
- Результат:
- Удаление тегов в ячейках таблицы
- Результат:
- Комментарии
- Другие публикации
- Как удалить все HTML-теги регулярным выражением?
- 6 ответов 6
- How to retain only specified tags
- Example
- Lorem Ipsum
- How to remove certain tags with all their content
- Example
- Example
- Related Articles
Удаление HTML тегов и спецсимволов с использованием RegExp (регулярных выражений)
Регулярные выражения (Regular Expressions) являются известным и мощным средством для поиска, тестирования и замены подстрок. Эта технология доступна и в 1С — через объект VBScript.RegExp. Нужный объект уже встроен в современные версии Windows (начиная с Windows 98), и устанавливать дополнительно ничего не нужно.
В данном примере, собственно, и рассматривается пример удаления HTML тегов и спецсимволов с помощью RegExp.
Таблицу спецсимволов HTML можно посмотреть здесь:
Скачать файлы
См. также
INFOSTART TECH EVENT 2023, 11-13 октября, Санкт-Петербург
XIII конференция по управлению и технологиям автоматизации учета на платформе 1С:Предприятие, которая пройдет в Санкт-Петербурге и соберет 1500 участников из разных регионов России и мира.
Infostart Toolkit
Набор инструментов (расширение) разработчиков, специалистов 1С для конфигураций на управляемых формах. Продукт хорошо оптимизирован и обладает широким функционалом. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента.
Онлайн-интенсив «DevOps для 1С». с 4 сентября по 17 октября 2023 г.
Данный онлайн-курс (интенсив) предусматривает изучение процессов, инструментов и методик DevOps, их применение при разработке на платформе 1С.
PowerTools
Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.
Многопоточность. Универсальный «Менеджер потоков» 2.1
Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов — теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но. * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО — то что надо.
Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)
В процессе работы в 1С часто возникает потребность получить данные из другой базы. Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.
Менеджер конфигураций 1С
Менеджер конфигураций 1С — альтернативный стартер информационных баз 1С:Предприятие.
Программное формирование существующих печатных форм
Получение списка печатных форм, формирование выбранной печатной формы и сохранение ее в файл.
17.12.2021 13345 37 RocKeR_13 5
Бустер Конвертации данных 3 (Infostart Toolkit)
Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.
Универсальный редактор данных (УРД)
Универсальный редактор данных (УРД) — это лучший инструмент в своем классе, который позволяет редактировать реквизиты и движения объектов
27.08.2021 16637 216 Adeptus 58
(3) Поручик, да действительно. Спасибо, что заметили. Вечером поменяю. Вот спецсимволы, которые я имел ввиду http://htmlweb.ru/html/symbols.php
(5) Yashazz, по-первых — не баян, т.к. на сайте примера удаления тегов и спецсимволов с помощью регулярных выражений нет, а во-вторых для новичков будет полезно разобрать более удобные способы поиска и замены значений в тексте, чем СтрЗаменить().
искал тоже как получить чистый текст из HTML, не совсем в тему может — нашел на мисте — Текст = ЭлементыФормы.ПолеHTMLдокумента.Документ.documentElement.innerText
Для извлечения текста из почтовых сообщений подходит такой вариант:
ЧтениеHTML = Новый ЧтениеHTML; ЧтениеHTML.УстановитьСтроку(ТекстHTML); ПостроительDOM = Новый ПостроительDOM; ДокументHTML = ПостроительDOM.Прочитать(ЧтениеHTML); Текст = ДокументHTML.Тело.ТекстовоеСодержимое;
Удаление тегов из строки 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.Закрыть(); КонецПроцедуры
например удалит из текста
Возникла необходимость вычистить строки тестового файла (словари dsl) от тэгов, нужно оставить только текстовое содержимое, я применил вот такой вариант:
&НаКлиенте Функция ВычиститьСтрокуОтТэгов(ТекущаяСтрокаДляОбработки) Пока СтрНайти(ТекущаяСтрокаДляОбработки, "[")> 0 Цикл НомерСимволаНачалаТэга = СтрНайти(ТекущаяСтрокаДляОбработки, "[". 1); НомерСимволаКонцаТэга = СтрНайти(ТекущаяСтрокаДляОбработки, "]". 1); ТелоТэга = Сред(ТекущаяСтрокаДляОбработки, НомерСимволаНачалаТэга, НомерСимволаКонцаТэга-НомерСимволаНачалаТэга+1); ТекущаяСтрокаДляОбработки = СтрЗаменить(ТекущаяСтрокаДляОбработки,ТелоТэга,""); КонецЦикла; Возврат ТекущаяСтрокаДляОбработки; КонецФункции
Пока СтрНайти(ТекущаяСтрокаДляОбработки, "[")> 0 Цикл НомерСимволаНачалаТэга = СтрНайти(ТекущаяСтрокаДляОбработки, "[". 1); НомерСимволаКонцаТэга = СтрНайти(ТекущаяСтрокаДляОбработки, "]". 1); ЧислоСимволов = НомерСимволаКонцаТэга-НомерСимволаНачалаТэга+1; Если ЧислоСимволов > 0 Тогда ТелоТэга = Сред(ТекущаяСтрокаДляОбработки, НомерСимволаНачалаТэга, НомерСимволаКонцаТэга-НомерСимволаНачалаТэга+1); ТекущаяСтрокаДляОбработки = СтрЗаменить(ТекущаяСтрокаДляОбработки,ТелоТэга,""); Иначе // некорректный тэг Возврат ТекущаяСтрокаДляОбработки; КонецЕсли; КонецЦикла;
Регулярные выражения для удаления тегов
Подборка регулярных выражений для удаления HTML тегов и атрибутов.
Удаление тегов
$text = 'Текст текст
'; echo preg_replace('/\s?