2009-04-07 15 views
7

Tenemos cierta información de fracciones almacenada en la base de datos, p. ¾ ½Conversión de fracciones en entidades html

En lugar de hacer una búsqueda y reemplazar, ¿hay alguna función PHP incorporada que las convierta automáticamente en entidades html apropiadas?

Respuesta

2

Puede usar el htmlentities() function. Esto reemplazará todos los caracteres especiales con su equivalente en HTML. Debe hacer el trabajo que requiera.

Buena pregunta por cierto, +1.

0

htmlentities try()

2

htmlentities.

Pero probablemente no sea necesario. Sirva su página en una codificación que los incluya (UTF-8, ISO-8859-1) y puede incluirlos como caracteres literales sin relieve.

+0

¿realmente? ¿esto solo se aplica a las fracciones? – Tom

+1

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. –

+0

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

1

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'); 
}