11/6/13

[php] Averiguar si una cadena contiene código HTML

Holas a todos.

Estaba buscando una manera rápida de averiguar si un texto era código HTML, y tras una breve indagación googleana, les presento la solución que encontré.

Se usa la función nativa de PHP strip_tags(), que lo que hace es limpiar una cadena de toda etiqueta HTML que encuentre, devolviéndonos dicha cadena "limpia". Ya que al usar esta función sobre una cadena que efectivamente tiene etiquetas dentro, nos retornará una cadena totalmente distinta, lo que hacemos es averiguar el resultado de comparar la cadena original con la procesada.

/**
----------------------------------------
@author Carolina Casanova García
@date 11/06/2013
@return boolean
*/

function is_html($fval)
{
 // si las cadenas son distintas, entonces se trata efectivamente 
 // de una cadena con etiquetas HTML dentro

 return (strip_tags($fval) != $fval);
}
// acá un ejemplo de uso:
$cadena = '<u><b>¡Hola!</b></u>';
print "<p>La cadena original: ".$cadena."</p>"
print "<p>Es HTML? ".(is_html($cadena) ? "Sí": "Nup")."</p>";


Espero que les haya servido ^^ Yo la usé sin recurrir a la función, sino directamente con la comparación para obtener el booleano, por ello puede que este código les dé errores, ya que no lo probé, pero me captan la idea, no? ^^

Hasta pronto y gracias por leer!
Publicar un comentario