Удаляет HTML и PHP-теги из строки


(PHP 4, PHP 5)

strip_tagsУдаляет HTML и PHP-теги из строки

Описание

string strip_tags ( string $str [, string $allowable_tags ] )

Эта функция пытается возвратить строку str, из которой удалены все NULL-байты, HTML и PHP теги. Для удаления тегов используется тот же автомат, что и в функции fgetss().

Список параметров

str

Входная строка.

allowable_tags

Второй необязательный параметр может быть использован для указания тегов, которые не нужно удалять.

Замечание:

Комментарии HTML и PHP-теги также будут удалены. Это жестко записано в коде и не может быть изменено с помощью параметра allowable_tags.

Замечание:

Этот параметр не должен содержать пробелов. strip_tags() рассматривает тег как нечувствительную к регистру строку, находящуюся между < и первым пробелом или >.

Замечание:

В PHP 5.3.4 и новее также необходимо добавлять соответвующий закрывающий тег XHTML, чтобы удалить тег из str. Например, для удаления и <br> и <br/> нужно сделать следующее:

<?php
strip_tags
($input'<br><br/>');
?>

Возвращаемые значения

Возвращает строку без тегов.

Список изменений

Версия Описание
5.3.4 strip_tags() больше не удаляет соответвующие закрывающие XHTML теги, если они не переданы в allowable_tags.
5.0.0 strip_tags() теперь безопасна для обработки бинарных данных.

Примеры

Пример #1 Пример использования strip_tags()

<?php
$text 
'<p>Параграф.</p><!-- Комментарий --> <a href="#fragment">Еще текст</a>';
echo 
strip_tags($text);
echo 
"\n";

// Разрешаем <p> и <a>
echo strip_tags($text'<p><a>');
?>

Результат выполнения данного примера:

 Параграф. Еще текст <p>Параграф.</p> <a href="#fragment">Еще текст</a> 

Примечания

Внимание

Из-за того, что strip_tags() не проверяет валидность HTML, то частичные или сломанные теги могут послужить удалением большего количества текста или данных, чем ожидалось.

Внимание

Эта функция не изменяет атрибуты тегов, разрешенных с помощью allowable_tags, включая такие атрибуты как style и onmouseover, которые могут быть использованы озорными пользователями при посылке текста, отображаемого также и другим пользователям.

Замечание:

Имена тегов в HTML превышающие 1023 байта будут рассматриваться как невалидные независимо от параметра allowable_tags.

Смотрите также

  • htmlspecialchars() - Преобразует специальные символы в HTML-сущности