(PHP 4, PHP 5, PHP 7)
strip_tags — Retira las etiquetas HTML y PHP de un string
$str
[, string $allowable_tags
] )
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().
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>');
?>
Devuelve el string con las etiquetas retiradas.
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. |
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>
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.
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
.