strip_tags

(PHP 4, PHP 5, PHP 7, PHP 8)

strip_tagsSupprime les balises HTML et PHP d'une chaîne

Description

strip_tags(string $string, array|string|null $allowed_tags = null): string

strip_tags() tente de retourner la chaîne string après avoir supprimé tous les octets nuls, toutes les balises PHP et HTML du code. Elle génère des alertes si les balises sont incomplètes ou erronées. Elle utilise le même moteur de recherche que fgetss().

Liste de paramètres

string

La chaîne d'entrée.

allowed_tags

Vous pouvez utiliser ce paramètre optionnel pour spécifier les balises qui ne doivent pas être supprimées. Ils sont soit fournie en tant que chaîne de caractères, ou à partir de PHP 7.4.0, en tant que tableau. Se référer aux examples ci-dessous pour le format de ce paramètre.

Note:

Les commentaires HTML et PHP sont également supprimés. Ce comportement ne peut être modifié avec le paramètre allowed_tags.

Note:

Les balises auto-fermantes XHTML sont ignorées et seules les balises qui ne sont pas auto-fermantes doivent être utilisées dans la chaîne allowed_tags. Par exemple, pour autoriser à la fois <br> et <br/>, vous devez utiliser :

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

Valeurs de retour

Retourne la chaîne échappée.

Historique

Version Description
8.0.0 allowed_tags est désormais nullable.
7.4.0 allowed_tags accepte désormais un tableau.

Exemples

Exemple #1 Exemple avec strip_tags()

<?php
$text
= '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo
strip_tags($text);
echo
"\n";

// Autorise <p> et <a>
echo strip_tags($text, '<p><a>');

// à partir de PHP 7.4.0 la ligne ci-dessus peut être écrite en tant que :
// echo strip_tags($text, ['p', 'a']);
?>

L'exemple ci-dessus va afficher :

Test paragraph. Other text
<p>Test paragraph.</p> <a href="#fragment">Other text</a>

Notes

Avertissement

Cette fonction ne devrait pas être utilisé pour empêcher les attaques XSS. Utiliser des fonctions plus approprié comme htmlspecialchars() ou d'autres méthodes en fonction du contexte de la sortie.

Avertissement

Comme strip_tags() ne valide pas le HTML, les balises partielles ou rompues peuvent conduire à la suppression de plus de textes/données que désiré.

Avertissement

strip_tags() ne modifie pas les attributs des balises que vous autorisez via le paramètre allowed_tags, y compris les attributs style et onmouseover, que des utilisateurs mal intentionnés peuvent utiliser.

Note:

Les noms des balises dans le HTML d'entrée qui sont supérieurs à 1023 octets de longueur seront traités comme invalides, suivant le paramètre allowed_tags.

Voir aussi