(PHP 4, PHP 5, PHP 7, PHP 8)
strip_tags — Видаляє HTML і PHP-теги з рядка
Ця функція намагається повернути рядок str
з усіма видаленими
NULL-байтами, HTML та PHP тегами. Для видалення використовується той же
рушій, що й у функції fgetss().
str
Вхідний рядок.
allowable_tags
Ви можете використовувати необов'язковий другий параметр, щоб вказати теги, які не повинні видалятись.
Зауваження:
HTML-коментарі та PHP-теги будуть видалені в усякому разі. Це прописано у коді та не може бути змінено за допомогою
allowable_tags
.
Зауваження:
Цей параметр не повинен містити пробілів. strip_tags() розглядає тег як нечутливий до регістру рядок, який знаходиться між
<
та першим пробілом, або>
. Це означає, щоstrip_tags("<br/>", "<br>")
поверне пустий рядок.
Повертає рядок без тегів.
Версія | Опис |
---|---|
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
.