strip_tags

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

strip_tagsRetira las etiquetas HTML y PHP de un string

Descripción

strip_tags(string $str, string $allowable_tags = ?): string

Esta función intenta devolver un string con todos los bytes NULL y las etiquetas HTML y PHP retirados de un str dado. Se utiliza la misma máquina de estado de retirado de etiquetas que la función fgetss().

Parámetros

str

El string de entrada.

allowable_tags

Se puede usar el segundo parámetro opcional para especificar cuales etiquetas no deben ser retiradas.

Nota:

Los comentarios HTML y etiquetas PHP también son retirados. Esto está en el código y no puede ser cambiado mediante allowable_tags.

Nota:

En PHP 5.3.4 y posterior, la etiquetas de autocierre de XHTML son ignoradas, por lo que solamente deberían utilizarse etiquetas sin autocierre en allowable_tags. Por ejemplo, para permitir tanto <br> como <br/>, se debería utilizar:

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

Valores devueltos

Devuelve el string con las etiquetas retiradas.

Historial de cambios

Versión Descripción
5.3.4 strip_tags() ignora las etiquetas de autocierre de XHTML en allowable_tags.
5.0.0 strip_tags() ahora es segura a nivel binario.

Ejemplos

Ejemplo #1 Ejemplo de strip_tags()

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

// Permite <p> y <a>
echo strip_tags($text'<p><a>');
?>

El resultado del ejemplo sería:

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

Notas

Advertencia

Debido a que strip_tags() en realidad no valida el HTML, etiquetas parciales o rotas, pueden resultar en la eliminación de más texto/datos de lo que se espera.

Advertencia

Esta función no modifica los atributos de las etiquetas que se permitan mediante allowable_tags, incluyendo los los atributos style y onmouseover que un usuario malicioso puede abusar al postear texto que se mostrará a otros usuarios.

Nota:

Los nombres de etiquetas en de la entrada HTML que sean mayores que 1023 bytes de longitud, serán tratados como no válidos, independientemente del parámetro allowable_tags.

Ver también