Hola a todos, estoy intentando hacer un limitador de caracteres con un leer mas, y cuando se expande el texto, poner un cerrar... haciendo una consulta a la base de datos de donde se saca el texto y no tengo ni idea de como hacerlo, he buscado por nuestro queridisimo google y no encuentro nada que me sirva ya, todo esta desactualizado y no me funciona.
Alguien me podría echar una mano?
En serio no encuentras en google como hacerlo? Hay mil guías eh? xD
Puedes usar substr() con PHP, pero en mi opinión lo mejor es que hagas un explode de la cadena y controles por número de palabras, saltos de línea, puntos etc.
https://developer.mozilla.org/es/docs/Web/CSS/text-overflow
text-overflow: ellipsis;
Puedes añadirlo a una clase y quitarle y ponersela al div
#2 usar un explode es una cagada para eso.
Haces un ternario con strlen y dentro en el true haces sprintf para imprimir el resultado del substr.
$truncatedText = strlen($text) >= $limit ? sprintf(“%s...”, substr($text, 0, $limit)) : $text;
Yo personalmente haria los $limit con +/- X para cortar siempre un poco mas o menos y que no se te quede por ejemplo solo una letra fuera
#4 Teniendo en cuenta que a lo mejor le interesa que las frases tengan sentido, pues quizás no sea tan cagada.
En casos reales de clientes, forzar a X letras con palabras completas lo normal es que queden bastante mal redactadas previo al leer más. Al final hemos tenido que usar explode en algunos casos para controlar todas las variables posibles, por eso le decía.
Realmente para hacer eso que pones es mejor hacerlo con CSS no? xd