Resulta que pretendo extraer 3 fragmentos de un texto de tamaño variable (entre 400 y 2500 caracteres), para hacer una especie de resumen de cada Post/artículo en la portada/secciones, y que sean de el inicio (0), de 180 y de 320 caracteres desde donde partan los fragmentos.
Ya logré extraerlos de esa manera, incluyendo el '...' al final de cada fragmento, también el que no me corte la palabra final de cada fragmento (que quede completa), pero me falta que realice búsqueda de espacio al inicio de fragmentos 2 y 3, ya que luego de cada '...' inicia en 180 y 320 donde por lo general (bueno, azar), lo hace con media palabra.
Se que tengo todo lo necesario en el código, sólo falta acomodar para que haga el strrpos() también al inicio de los fragmentos 2 y 3. Quiero decir que ya no se cómo agregar esa función para que me detecte el espacio al inicio...
Dejo el código que estoy usando, y abajo un ejemplo de texto.
Mi código es éste:
Código PHP:
function max_cut($text){
$etc = '... ';
$max1=130;
$max2=100;
$max3=85;
$text1 = substr($text,0,strrpos(substr($text,0,$max1)," ")) . $etc;
$text2 = substr($text,180,strrpos(substr($text,0,$max2)," ")) . $etc;
$text3 = substr($text,320,strrpos(substr($text,0,$max3)," ")) . $etc;
$text = $text1 . $text2 . $text3;
return $text;
}
(Como ejemplo usaré el mismo texto de arriba...)
Cita:
Como verán, el 2o fragmento inicia con: ortada/secciones en lugar de: portada/secciones.Hola a todos! Resulta que pretendo extraer 3 fragmentos de texto de tamaño variable (entre 400 y 2500 caracteres), para hacer... ortada/secciones, y que sean de el inicio (0), de 180 y de 320 caracteres desde donde partan los ... era, incluyendo el '...', también el que no me corte la palabra final de cada fragm...
El 3er fragmento inicia con: era, incluyendo, en lugar de: manera, incluyendo, como debiera ser...
Por cierto, también me cortó la última palabra del 3er fragmento (fragm...); habrá que revisar...
Ojalá puedan ayudarme.
Saludos.