Convertir píxeles a ems (PHP)

Snippet de PHP para convertir píxeles a ems

Waterhouse

archivado en: PHP/AJAX / 26 abril, 2014

Para un proyecto preparé un plug-in que permitía ampliar y reducir el tamaño de la fuente de una página. Iba bien hasta que se llevó a la práctica, ya que las personas que preparaban el desarrollo (en un gestor de contenidos) podían definir el valor de la fuente en píxeles o en ems y ahí se lio la cosa.

Para que el plug-in funcione correctamente es necesario que todas las medidas internas estén en em, que es una medida relativa al contenedor padre. Es decir, si en tag ul, por ejemplo, la medida son 12px y sus li son 0.5em, los li tendrán 0.5em respecto a 12px. De ahí que con el plug-in basta con ir cambiando las medidas del contenedor principal. Bueno, el tema es que necesitaba cambiar cualquier medida en píxeles a em y aquí os pego el snippet por si a alguien más le sirve y de paso para ver un ejemplo de cómo funciona preg_replace_callback(), que es una especie de super-replace de PHP xD.

/* En $cadenaConvertir está el texto a reemplazar */

$patronPixeles = "/font-size:\W{0,1}(\d)+px;/i";

$cadenaConvertir = preg_replace_callback(

$patronPixeles,

function ($coincidencias) {

$valorEM = str_replace('font-size:','',$coincidencias[0]);

$valorEM = str_replace('px;','', $valorEM);

settype($valorEM, "integer");

$valorEM = $valorEM / 16;

$valorEM = 'font-size: '.$valorEM.'em;';

return $valorEM;

},

$cadenaConvertir

);

|| Tags: ,

valoración de los lectores sobre Convertir píxeles a ems (PHP)

  • estrellica valoración positiva
  • estrellica valoración positiva
  • estrellica valoración positiva
  • estrellica valoración positiva
  • estrellica valoración positiva
  • 5 sobre 5 (1 votos)

¿Te ha parecido útil o interesante esta entrada?
dormido, valoración 1 nadapensativo, valoración 2 un poco sonrisa, valoración 3 a medias guiño, valoración 4 bastante aplauso, valoración 5 mucho

Tú opinión es muy importante, gracias por compartirla!

Los comentarios están cerrados.