PHP - Cortar STRING en renglones

 
Vista:

Cortar STRING en renglones

Publicado por Pepe (54 intervenciones) el 17/05/2007 20:40:07
Hola amigos , estoy haciendo un reporte y al momento de imprimir un campo (de una BD) donde tiene mas de 90 caracteres este me los imprime en una sola linea, ocacionande q el texto se 'salga' de la hoja, me encontre una funcion q se llama wordwrap pero esta no la reconoce la libreria FPDP (que es la herramienta que estoy ocupando para mi reporte).

He hecho el codigo para que haga el corte para que los imprima en 3 renglones y el renglon termine en un espacio ' ' pero al momento de correlo arroja el resultado y esté esta bien, aunq al fnal marca un error de que se el tiempo de espera se a terminado (obviamente se tarda mucho)

el codigo que hice es el siguiente.

<?php
$str = "***CADENA***";
$tamano = strlen($str);
$letras= $a/3;
$conteo=round($letras);
$espacio= $conteo-10;
$apuntador=0;

if($tamano > 100)
{

while($apuntador<=$tamano)
{

//aqui hago la impresion de N. letras
for($i=0; $i<=$espacio; $i++)
{
$text = substr($str,$apuntador,1);
echo $text;
$apuntador++;
}

//esta parte avanza hasta donde encuentra un espacio despues de las N letras

for($apuntador=$apuntador; $text != ' ' ; $apuntador++)
{
$text=substr($str,$apuntador,1);
echo $text;

}

echo'<br />';
}
}
else
echo $str;
?>
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

SOLUCIONADO

Publicado por Pepe (54 intervenciones) el 18/05/2007 18:43:12
Este es el codigo que hace q corte un string demasiado largo en renglones , en este caso en 3 renglones...

$str = "****CADENA****";
$a = strlen($str); //tamaño de cadena
$letras= $a/3; //lo divide en los renglones que necesites
$conteo=round($letras); // redondeamos el numero el cual va a ser el no. de caracteres q entraran en //cada renglon
$i=0;// incio
if($a > 100)
{
while($a>$conteo)
{
while(substr($str,$conteo,1) <> ' ' && $conteo<=$a) // validacion; q sea diferente de ' '
{
$conteo++;
}
echo substr($str,$i,$conteo);
echo '<br />';
$str=substr($str,$conteo,$a-$conteo);
$i=1;
$conteo=round($letras);
$a = strlen($str);
}

echo $str;
}
else
echo $str;

Espero les sirva de algo ....
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