
Partir texto en varias lineas tras 45 caracteres y localizando un espacio
Publicado por Jordi (2 intervenciones) el 25/06/2014 11:28:11
Dispongo de un texto bastante largo y necesito separarlo en varias líneas.
Lo que quiero hacer es que tras 45 caracteres busque el primer espacio y realice el corte ahí... pero no me acaba de funcionar.
Este es el código de ejemplo:
$texto = "En un lugar de la Mancha, de cuyo nombre no quiero acordarme, no ha mucho tiempo que vivía un hidalgo de los de lanza en astillero, adarga antigua, rocín flaco y galgo corredor. Una olla de algo más vaca que carnero, salpicón las mñas noches, duelos y quebrantos, los sábados, lentejas, los viernes, algún palomino de añadidura los domingos, consumían las tres partes de su hacienda.";
$textofinal = substr($texto, 45); //Texto menos 45 caracteres
$buscaespacio = ' '; //Caracter a buscar
$posicion = strpos($textofinal, $buscaespacio); //Busco el primer espacio tras quitarle 45 caracteres
$cortalineas = str_split($texto, 45 + $posicion); //Corto tras 45 caracteres + los caracteres hasta el primer espacio
foreach($cortalineas as $linea){
print('<h2>'.$linea.'</h2>');
print('<br>');
}
Y este es el resultado... lamentablemente no corta el texto en los espacios...

En un lugar de la Mancha, de cuyo nombre no quiero
acordarme, no ha mucho tiempo que vivía un hidal
go de los de lanza en astillero, adarga antigua, r
ocín flaco y galgo corredor. Una olla de algo má
s vaca que carnero, salpicón las mñas noches, du
elos y quebrantos, los sábados, lentejas, los vie
rnes, algún palomino de añadidura los domingos,
consumían las tres partes de su hacienda.
Agradezco su ayuda de antemano.
Lo que quiero hacer es que tras 45 caracteres busque el primer espacio y realice el corte ahí... pero no me acaba de funcionar.
Este es el código de ejemplo:
$texto = "En un lugar de la Mancha, de cuyo nombre no quiero acordarme, no ha mucho tiempo que vivía un hidalgo de los de lanza en astillero, adarga antigua, rocín flaco y galgo corredor. Una olla de algo más vaca que carnero, salpicón las mñas noches, duelos y quebrantos, los sábados, lentejas, los viernes, algún palomino de añadidura los domingos, consumían las tres partes de su hacienda.";
$textofinal = substr($texto, 45); //Texto menos 45 caracteres
$buscaespacio = ' '; //Caracter a buscar
$posicion = strpos($textofinal, $buscaespacio); //Busco el primer espacio tras quitarle 45 caracteres
$cortalineas = str_split($texto, 45 + $posicion); //Corto tras 45 caracteres + los caracteres hasta el primer espacio
foreach($cortalineas as $linea){
print('<h2>'.$linea.'</h2>');
print('<br>');
}
Y este es el resultado... lamentablemente no corta el texto en los espacios...


En un lugar de la Mancha, de cuyo nombre no quiero
acordarme, no ha mucho tiempo que vivía un hidal
go de los de lanza en astillero, adarga antigua, r
ocín flaco y galgo corredor. Una olla de algo má
s vaca que carnero, salpicón las mñas noches, du
elos y quebrantos, los sábados, lentejas, los vie
rnes, algún palomino de añadidura los domingos,
consumían las tres partes de su hacienda.
Agradezco su ayuda de antemano.
Valora esta pregunta


0