limitando el texto a solo dos líneas

Quiero limitar el texto a un número fijo de líneas para una tabla de 150 píxeles de ancho en el correo electrónico html, por ejemplo:

Long text continues down the road into a lane and doesn't stop there 

Quiero que se vea así:

 Long text continues down the road into a lane and... 

Estoy truncando la cadena para un máximo de 45 caracteres, incluidos puntos suspensivos, pero a veces, cuando hay una palabra larga, va a tres líneas:

 Long text continues at accelerating speed into the road... 

Idealmente, me gustaría romper la palabra acelerando o, mejor dicho, llenar la mayor cantidad de caracteres posible en la primera línea y continuar a la segunda línea, ¿hay alguna manera de hacerlo en html? (Miré el word-wrap pero aparentemente no es compatible con todos los clientes de correo electrónico)

Además, dado que se trata de clientes de correo electrónico, no puedo hacer ningún javascript, etc. también.

Solución CSS

Puede establecer una altura y desbordar ocultos.

 span { display: inline-block; border: black 1px solid; width: 300px; height: 40px; overflow: hidden; } 

Ejemplo : http://jsfiddle.net/imoda/REs2Q/


Solución PHP

La alternativa del lado del servidor es usar substr

  $limit ? "..." : ''); } ?> 

Ejemplo : http://codepad.org/OetkaMh6

Esto dará como resultado 100 caracteres de la cadena y luego se agregará ... Truco con esto es que tendrá que cambiar el número de caracteres a lo que funciona mejor para su situación. Debido a que es del lado del servidor, no sabrá cuántos caracteres necesita cada escenario para activar solo un retorno de carro.

Alternativamente, puede limitar el número de palabras:

  

Ejemplo : http://codepad.org/WYJFPaD5

Pero es lo mismo, tienes que adaptarlo para “ajustarse mejor”

Espero que ayude.

Si su mensaje es una cadena, puede hacer lo siguiente con PHP:

 $stringChunkArray = str_split($string, 45); // 45 = desired char count foreach ($stringChunkArray as $line) { echo $line.PHP_EOL; } 

Eso garantizará 45 caracteres por línea …

¿Has intentado envolver cada línea en un ... para forzarlo a que no se ajuste?

Parte de la documentación se puede encontrar aquí

El comportamiento estándar de las celdas de tabla es estirar para adaptarse a su contenido. Romper palabras según el ancho de una celda requeriría secuencias de comandos.

desbordamiento: oculto simplemente corta el rest de las palabras y no es compatible con Outlook 2007/2010.

Esto funcionó para mí, simplemente ajuste la altura como desee.

 blog_content { display: inline-block; border: 0px; height: 600px; overflow: hidden; }