- strip_tags
- Список параметров:
- Возвращает:
- изменения в версиях php:
- пример использования strip_tags()
- strip_tags
- Список параметров
- Возвращаемые значения
- Список изменений
- Примеры
- Примечания
- Смотрите также
- Regex to remove an HTML tag and its content from PHP string
- Example
- How to retain only specified tags
- Example
- Lorem Ipsum
- How to remove certain tags with all their content
- Example
- Example
- Related Articles
- Как убрать html теги из текста
- Как убрать html теги из текста с помощью fgetss()
- Убираем html-теги с помощью онлайн сервиса
- Замена символов
strip_tags
Функция php strip_tags() — удаляет теги HTML и PHP из строки определенного текста (контента). В WP используется, например, для обрезки текста в работе с функцией the_excerpt. использование от: PHP 4, PHP 5, PHP 7 и до PHP 8 … В WordPress работает, например, в связке с wp_strip_all_tags().
strip_tags ( string $string , array|string|null $allowed_tags = null ) : string
Функция пытается возвратить строку (string), из которой удалены все NULL-байты: HTML и PHP-теги.
Для удаления тегов используется тот же механизм, что и в функции fgetss().
Список параметров:
string (строка)
allowed_tags (строка) Второй необязательный параметр может быть использован для указания тегов, которые не нужно удалять. Они указываются как строка (string) или как массив (array) с PHP 7.4.0. Смотрите пример ниже относительно формата этого параметра.
Комментарии HTML и PHP-теги также будут удалены. Это жёстко задано в коде и не может быть изменено с помощью параметра allowed_tags.
В PHP 5.3.4 и новее, самозакрывающиеся (такие как
) теги XHTML игнорируются — и только не самозакрывающиеся теги должны быть использованы в allowed_tags.
К примеру, для разрешения как
, так и
нужно сделать следующее:
Возвращает:
Возвращает текстовые символы — без тегов.
изменения в версиях php:
php: 8.0.0 allowed_tags — допускает значение null.
php: 7.4.0 allowed_tags — альтернативно принимает массив (array).
пример использования strip_tags()
Параграф. Ещё текст'; echo strip_tags($text); echo "\n"; // Разрешаем и echo strip_tags($text, '
'); // Начиная с PHP 7.4.0, строка выше может быть записана как: // echo strip_tags($text, ['p', 'a']); ?>
Михаил ATs — владелец блога запросто с Вордпресс — в сети нтернет давным-давно.
. веб разработчик студии ATs media: помогу в создании, раскрутке, развитии и целенаправленном сопровождении твоего ресурса в сети. — заказы, вопросы. разработка.
Поделитесь соображениями: Ваши мысли очень важны! Отменить ответ
- Техническое SEO
- Seo-Plus продвижение
- Контент, шапка site
- WordPress c плагинами
- WordPress без плагинов
- Версии WordPress
- WooCommerce и WordPress
- Сайт как заработок
- Сниппеты, хаки, функции
- Хостинги
- Шаблоны — описания
- Бардачок html php css
- Оптимальный интернетing
- Гостевое IMHO
шапка сайта шаблоны хостинг-защита ускоряем сайт способы заработка создание сайта — начало сайдбар -подвал оптимизация контент консоль WordPress гость и IMHO важное wp Яндекс Банкing wooc-товары wooc-виджеты Windows программы TinyMCE SEO догматика Security сайта php-html-css js-ajax htaccess — config.php Google css Adsense
strip_tags
Эта функция пытается возвратить строку str , из которой удалены все NULL-байты, HTML и PHP теги. Для удаления тегов используется тот же автомат, что и в функции fgetss() .
Список параметров
Второй необязательный параметр может быть использован для указания тегов, которые не нужно удалять.
Замечание:
Комментарии HTML и PHP-теги также будут удалены. Это жестко записано в коде и не может быть изменено с помощью параметра allowable_tags .
Замечание:
Этот параметр не должен содержать пробелов. strip_tags() рассматривает тег как нечувствительную к регистру строку, находящуюся между и первым пробелом или >.
Замечание:
В PHP 5.3.4 и новее также необходимо добавлять соответвующий закрывающий тег XHTML, чтобы удалить тег из str . Например, для удаления и и
нужно сделать следующее:
Возвращаемые значения
Возвращает строку без тегов.
Список изменений
Версия | Описание |
---|---|
5.3.4 | strip_tags() больше не удаляет соответвующие закрывающие XHTML теги, если они не переданы в allowable_tags . |
5.0.0 | strip_tags() теперь безопасна для обработки бинарных данных. |
Примеры
Пример #1 Пример использования strip_tags()
Результат выполнения данного примера:
Примечания
Из-за того, что strip_tags() не проверяет валидность HTML, то частичные или сломанные теги могут послужить удалением большего количества текста или данных, чем ожидалось.
Эта функция не изменяет атрибуты тегов, разрешенных с помощью allowable_tags , включая такие атрибуты как style и onmouseover, которые могут быть использованы озорными пользователями при посылке текста, отображаемого также и другим пользователям.
Замечание:
Имена тегов в HTML превышающие 1023 байта будут рассматриваться как невалидные независимо от параметра allowable_tags .
Смотрите также
Regex to remove an HTML tag and its content from PHP string
We use the in-built PHP strip_tags() function to remove HTML, XML, and PHP tags from a PHP string.
Example
Lorem IpsumLorem ipsum dolor sit amet, consectetur adipiscing elit. Donec nec volutpat ligula.
"; echo strip_tags($mystring);
Lorem IpsumLorem ipsum dolor sit amet, consectetur adipiscing elit. Donec nec volutpat ligula.
As you can see, it removes all the HTML tags and their attributes but retains all the content of those tags.
How to retain only specified tags
The strip_tags() function allows for a second optional argument for specifying allowable tags to be spared when the rest HTML tags get stripped off. This way, you can retain some and remove all the other tags.
Example
Lorem IpsumLorem ipsum dolor sit amet, consectetur adipiscing elit. Donec nec volutpat ligula.
"; echo strip_tags($mystring,",
");
Lorem Ipsum
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec nec volutpat ligula.
As you can see the rest of the tags have been removed leaving the string with only the and
, which were specified in the second argument.
How to remove certain tags with all their content
As opposed to the above examples where only tags are removed but their content remains intact, let’s see how we can do away with specific tags together with their content.
To achieve this we use the PHP preg_replace() function.
The first argument is the regular expression(we specify the tag(s) that we want to remove or replace in it), the second is the match(this is what we replace the specified tag(s) with) and the third is the string in which we want to make changes to.
Replace the terms «tag» with the respective opening and closing tags you wish to remove and $str with your string. These tags in the string will get replaced with whatever you set as the second argument, in this case, removed since we have used empty quotes «» .
Example
Lorem IpsumLorem ipsum dolor sit amet, consectetur adipiscing elit. Donec nec volutpat ligula.
"; echo preg_replace('~~Usi', "", $mystring);
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec nec volutpat ligula.
We have removed the tag and its content as specified in the function.
If you would like to strip off multiple tags with their content at a go, you can specify them as an array of regular expressions in the first argument of the function.
Example
Lorem IpsumLorem ipsum dolor sit amet, consectetur adipiscing elit. Donec nec volutpat ligula.
"; echo preg_replace(array('~~Usi','~~Usi','~~Usi'), "", $mystring);
Lorem sit amet, adipiscing elit. Donec nec volutpat ligula.
We have specified an array of , and , all which together with their content have been striped off.
That’s all for this article.
Related Articles
Как убрать html теги из текста
От автора: допустим, у вас есть кусок кода с каким-то содержимым, а вам нужно получить из него только текст. Вручную удалять все теги может быть очень долго и нудно, поэтому давайте разбираться, как с помощью php убрать html теги.
Если вам надо убрать из текста html-теги, то вам может пригодиться одна php-функция, которая хорошо справляется с этим заданием. Что она делает? Мы ей передаем нужную строку с кодом, а она вырезает оттуда все html и php-команды, возвращая содержимое без кода. Это функция strip_tags, которая имеет один обязательный и один необязательный параметры.
Соответственно, давайте сразу же протестируем ее работу.
Изучите Веб-вёрстку с нуля
Если вы мечтаете создавать сайты, но не знаете, с чего начать. Хотите глубоко погрузиться в основы веб-разработки, а не просто пройтись по верхам — этот курс для вас!
$random = ‘
Это текст в абзаце
‘ ;
На экран выведется фраза “Это текст в абзаце”. Соответственно, вторым параметром можно задать те теги, которые не нужно удалять.
$random = ‘
Это слова в пустом строчном спане
‘ ;
В этой случае мы запретили функции удалять тег span и на экран он выведется вместе с текстом. Я думаю, основная цель strip_tags вам понятна. Если в коде присутствуют комментарии, то они тоже будут удалены. Но что, если удалить теги надо из целого файла? Для этого есть другая команда, которую рассмотрим далее.
Как убрать html теги из текста с помощью fgetss()
Эта команда отличается от предыдущей тем, что позволяет убрать html теги из всего файла. Для этого его предварительно необходимо открыть с помощью fopen(), в которой указывается путь до файла и режим, котором будет работа с ним.
Сама функция fgetss содержит три параметра. Первым является указатель на файл, с которого надо убирать лишнее. Второй параметр – длина получаемых данных, можно увидеть в блокноте или любом текстовом редакторе. Записывается в виде числового значения. Третий и необязательный параметр – разрешенные теги, которые не будут удалены. Этот параметр записывается также, как и для функции strip_tags.
Что мы в данном случае сделали:
Открыли файл “file.php”, сделав его доступным для чтения
Метод feof() проверяет, достигнут ли конец файла
По нашему условию, если конец файла достигнут, то с помощью функции fgetss() обрабатываем файл и выводим на экран всю информацию в новой переменной.
После этого файл закрывается. Пользоваться функцией есть смысл, когда необходимо удалить теги из файла, где их может быть сотни.
Убираем html-теги с помощью онлайн сервиса
Возможно, у вас нет желания пользоваться возможностями php для очищения текста от ненужных элементов. Что ж, есть способ гораздо более простой. Это онлайн сервис 0en.ru, который может удалять html дескрипторы и комментарии из скопированного в поле текста. С его помощью можно получить чистый текст уже через несколько секунд.
Единственный минус веб-сервиса в том, что он удаляет абсолютно все, поэтому если вы хотите какие-то из них оставить, то лучше все-таки воспользоваться одной из функций PHP.
Замена символов
Ну а что, если вам нужно удалить всего лишь 1-2 тега на странице. Сделать это еще проще. В любом нормальном текстовом редакторе есть функция “найти и заменить”. В первое поле вы вписываете символы, которые нужно найти (нужный нам открывающий тег), а во второе – на что его заменить. Здесь просто оставляем пустое место. Клац, и все удалилось. Соответственно, если тег парный, то нужно не забыть удалить и его закрывающую часть.
Изучите Веб-вёрстку с нуля
Если вы мечтаете создавать сайты, но не знаете, с чего начать. Хотите глубоко погрузиться в основы веб-разработки, а не просто пройтись по верхам — этот курс для вас!
Сегодня мы с вами узнали несколько способов удаления html тегов из текста. Используйте если надо и читайте наш блог, чтобы узнавать еще больше о веб-технологиях.