удалить все теги кроме php
Функ. зеркальная к strip_tags или выборочное удаление тегов
Re: Функ. зеркальная к strip_tags или выборочное удаление те
регуляркой по моему все очень даже хорошо удаляется)
Re: Функ. зеркальная к strip_tags или выборочное удаление те
считается, что регулярка не предназначена для обработки структур с неопределенно большой степенью вложенности элементов. не раз такое утверждение встречал. хотя сам регулярно, простите за каламбур, применяю регулярку для html.
в данном случае я бы поискал в ХОРОШИХ книгах регулярку для HTML, взял preg_replace_callback и в калбэке решал что делать с тегом.
Re: Функ. зеркальная к strip_tags или выборочное удаление те
если это HTML, то не проще ли всё делать через DOMDocument
Добавлено спустя 1 минуту 30 секунд:
Re: Функ. зеркальная к strip_tags или выборочное удаление тегов
Re: Функ. зеркальная к strip_tags или выборочное удаление те
Re: Функ. зеркальная к strip_tags или выборочное удаление те
опять же слова.. нужны тесты.
А вообще, слишком размытое задание. Идея то первоначальная какая? Не вырезать же тэги ради того, чтобы их вырезать
Re: Функ. зеркальная к strip_tags или выборочное удаление те
Тесты. Я напишу функцию без использования DOM и выложу ее. Если кто напишет это через DOM сможем сравнить скорость работы.
Re: Функ. зеркальная к strip_tags или выборочное удаление те
Загружай эти письма в iframe и не будут они ломать верстку твоей страницы
Re: Функ. зеркальная к strip_tags или выборочное удаление те
Как убрать html теги из текста
Дата публикации: 2016-01-29
От автора: допустим, у вас есть кусок кода с каким-то содержимым, а вам нужно получить из него только текст. Вручную удалять все теги может быть очень долго и нудно, поэтому давайте разбираться, как с помощью php убрать html теги.
Если вам надо убрать из текста html-теги, то вам может пригодиться одна php-функция, которая хорошо справляется с этим заданием. Что она делает? Мы ей передаем нужную строку с кодом, а она вырезает оттуда все html и php-команды, возвращая содержимое без кода. Это функция strip_tags, которая имеет один обязательный и один необязательный параметры.
Соответственно, давайте сразу же протестируем ее работу.
Практический курс по верстке адаптивного сайта с нуля!
Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3
Это текст в абзаце
На экран выведется фраза “Это текст в абзаце”. Соответственно, вторым параметром можно задать те теги, которые не нужно удалять.
Это слова в пустом строчном спане
В этой случае мы запретили функции удалять тег span и на экран он выведется вместе с текстом. Я думаю, основная цель strip_tags вам понятна. Если в коде присутствуют комментарии, то они тоже будут удалены. Но что, если удалить теги надо из целого файла? Для этого есть другая команда, которую рассмотрим далее.
Как убрать html теги из текста с помощью fgetss()
Эта команда отличается от предыдущей тем, что позволяет убрать html теги из всего файла. Для этого его предварительно необходимо открыть с помощью fopen(), в которой указывается путь до файла и режим, котором будет работа с ним.
Сама функция fgetss содержит три параметра. Первым является указатель на файл, с которого надо убирать лишнее. Второй параметр – длина получаемых данных, можно увидеть в блокноте или любом текстовом редакторе. Записывается в виде числового значения. Третий и необязательный параметр – разрешенные теги, которые не будут удалены. Этот параметр записывается также, как и для функции strip_tags.
Практический курс по верстке адаптивного сайта с нуля!
Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3
Что мы в данном случае сделали:
Открыли файл “file.php”, сделав его доступным для чтения
Метод feof() проверяет, достигнут ли конец файла
По нашему условию, если конец файла достигнут, то с помощью функции fgetss() обрабатываем файл и выводим на экран всю информацию в новой переменной.
После этого файл закрывается. Пользоваться функцией есть смысл, когда необходимо удалить теги из файла, где их может быть сотни.
Убираем html-теги с помощью онлайн сервиса
Возможно, у вас нет желания пользоваться возможностями php для очищения текста от ненужных элементов. Что ж, есть способ гораздо более простой. Это онлайн сервис 0en.ru, который может удалять html дескрипторы и комментарии из скопированного в поле текста. С его помощью можно получить чистый текст уже через несколько секунд.
Единственный минус веб-сервиса в том, что он удаляет абсолютно все, поэтому если вы хотите какие-то из них оставить, то лучше все-таки воспользоваться одной из функций PHP.
Замена символов
Ну а что, если вам нужно удалить всего лишь 1-2 тега на странице. Сделать это еще проще. В любом нормальном текстовом редакторе есть функция “найти и заменить”. В первое поле вы вписываете символы, которые нужно найти (нужный нам открывающий тег), а во второе – на что его заменить. Здесь просто оставляем пустое место. Клац, и все удалилось. Соответственно, если тег парный, то нужно не забыть удалить и его закрывающую часть.
Сегодня мы с вами узнали несколько способов удаления html тегов из текста. Используйте если надо и читайте наш блог, чтобы узнавать еще больше о веб-технологиях.
Практический курс по верстке адаптивного сайта с нуля!
Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3
Как удалить все HTML-теги регулярным выражением?
Есть регулярное выражение (\ ]+)>), которое оставляет HTML-тэги. Как наоборот удалить все тэги, оставив только текст?
5 ответов 5
Только надо обязательно помнить, что никакое регулярное выражение не сможет правильно обработать сломанный html:
И для такого дела лучше применять полноценные html-парсеры, а регулярки к html-коду не подпускать вообще.
На данный момент, наиболее близкая к браузерной версия:
PS: Более ранняя версия ответа с другим кодом доступна в истории.
Как по мне, более точное определение тега будет таким
Всё ещё ищете ответ? Посмотрите другие вопросы с метками html регулярные-выражения или задайте свой вопрос.
Связанные
Похожие
Подписаться на ленту
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.9.28.40331
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.