[PHP] ¿Contar líneas de texto?

SeiYa

Supongamos que recibo una cadena de texto y la guardo en $Contenido;

¿Hay alguna posibilidad de saber cuantas lineas va a ocupar si la coloco en una capa (o tabla) de X píxeles de ancho con X fuente y X tamaño de fuente?

Y del mismo modo ... ¿Hay alguna forma de cortarla por lineas?

Por que si fuese de una fuente tipo fixedsys que todos los caracteres ocupan lo mismo sería fácil de medir, del otro modo tengo que hacer una estimación aproximada y no me convence, por lo que puede haber una linea con iiiiiiiiii y otra con WWWWW y el tamaño será totalmente distinto, por eso descarto contar caracteres y mi pregunta es si hay alguna forma de hacerlo (quizás exista alguna función).

Bueno, ahí queda eso.

Un saludo.

guner

Es inviable. El navegador no tiene por qué tener la fuente 'X', o puede visualizarse de forma diferente, o (lo más importante) puede agrandarla.

Yomosucith

#1 no te lo recomiendo PARA NADA, puede ser q la fuente no la tenga el usuario o que el navegador la haga mas grande, etc. como bien ha dicho #2

De todos modos, si te urge demasiado y te ves tan desesperado para hacer semejante cosa, seguramente esto se sirva:

Primero creamos una "caja" con el tamaño del texto:
Función que la crea: imagettfbbox ( float tamaño*, float angulo, string archivo_fuente, string texto )

  • El tamaño es en píxeles y no en puntos

Ej:
$micaja = imagettfbbox(8, 0, "verdana.ttf", "Hola que tal este es mi texto :D");

Y luego sakamos el tamaño X e Y de esa caja:
$x = abs($micaja[2] - $micaja[0]);
$y = abs($micaja[5] - $micaja[3]);

Espero haberte sido de ayuda ;)

P.D.: En el campo fuente tienes q poner el nombre real del archivo que tiene q star subido en el host! en www.dafont.com encontraras la tira de fuentes. si quieres usar una fuente q ya te venia con windows vete a c:\windows\fonts\ y subela al hosting

Usuarios habituales

  • Yomosucith
  • guner
  • SeiYa