strip_tags - Удаляет HTML и PHP-теги из строки
Вернуться к: Обработка строк
strip_tags
(PHP 4, PHP 5, PHP 7)
strip_tags — Удаляет HTML и PHP-теги из строки
Описание
$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
.
Вернуться к: Обработка строк