La respuesta ya está dada: use htmlentities()
. Además, se ha sugerido el uso de UTF-8, que por supuesto es una muy buena idea. Sin embargo, si usted está planeando sobre el uso htmlentities()
en cadenas UTF-8, utilice el siguiente código (o te personajes extrañamente codificado):
htmlentities($str, ENT_COMPAT, 'UTF-8')
Como se puede imaginar, es una mierda tener que añadir el segundo y tercer argumento todo el tiempo. Para la mayoría de los proyectos necesito htmlentities()
, termino escribiendo la función de acceso directo, es decir .:
function he($str) { // shortcut function for htmlentities() with UTF-8 settings
return htmlentities($str, ENT_COMPAT, 'UTF-8');
}
¿realmente? ¿esto solo se aplica a las fracciones? – Tom
Utf-8 le permitirá usar casi cualquier carácter sin conversión. Sin embargo, todavía debes llamar a htmlentities por seguridad. http://akrabat.com/2009/03/18/utf8-php-and-mysql/ detalla los pasos para usar UTF-8 - necesita hacer cambios a php, mysql y html. –
Se aplica a todo lo que pueda caber en la codificación que está utilizando. Si está en ISO-8859-1 (europeo occidental), obtiene hasta U + 00FF, que incluye ¼½¾ (U + 00BC-U + 00BE). Si usa UTF-8, eso incluye toda la gama de caracteres Unicode. Aunque todavía necesitarías htmlspecialchars para tratar con '<'/'&'. – bobince