PHP - Partir texto en varias lineas tras 45 caracteres y localizando un espacio

 
Vista:
sin imagen de perfil

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.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Salvador

Partir texto en varias lineas tras 45 caracteres y localizando un espacio

Publicado por Salvador (125 intervenciones) el 26/06/2014 01:27:56
La cosa es mas sencilla, PHP dispone de una funcion llamada wordwrap

$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.";
$lineas = wordwrap($texto, 45, "<br />");
echo $lineas;

Te sirve ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Partir texto en varias lineas tras 45 caracteres y localizando un espacio

Publicado por Jordi (2 intervenciones) el 26/06/2014 12:47:35
En efecto me sirve para lo que necesito hacer. Desconocía la función wordwrap.

Muchísimas gracias por la ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar