Foros del Web » Programando para Internet » PHP »

formatear texto

Estas en el tema de formatear texto en el foro de PHP en Foros del Web. hola a todos. ¿como va?. estoy tratando de formatear texto para que no me estire una celda html. hasta ahora lo mejor que pude lograr ...
  #1 (permalink)  
Antiguo 20/06/2004, 18:58
 
Fecha de Ingreso: mayo-2003
Ubicación: a
Mensajes: 29
Antigüedad: 20 años, 11 meses
Puntos: 0
formatear texto

hola a todos. ¿como va?.

estoy tratando de formatear texto para que no me estire una celda html.

hasta ahora lo mejor que pude lograr es esto:

Código PHP:
wordwrap(nl2br($row[texto]),95,"<br>",1); 
pero lo que yo necesito que no solo me convierta los cambio de linea a <br> si no también si en alguna linea se exede de "x" caracteres tambien agregue un <br>.

entonces, le faltaria a lo que hice que empieze a contar los "x" caracteres cada vez que comienza una linea nueva, ya que con wordwrap no puedo lograr eso.

espero que a alguien lo sepa hacer.

gracias!!!
  #2 (permalink)  
Antiguo 21/06/2004, 06:08
Avatar de Torus  
Fecha de Ingreso: enero-2002
Ubicación: Tú buscame y me encontraras
Mensajes: 413
Antigüedad: 22 años, 3 meses
Puntos: 0
Hola finisterre99:
He encontrado en la pagina de php algo que te puede solucionar el problema.
Saludos
Código PHP:
<? 
$texto 
"Hay que tener en cuenta queforeach trabaja con una copia de la matriz especificada y no la lista en si, por ello el puntero de la lista no es modificado como en la función each(), y los cambios en el elemento de la matriz retornado no afectan a la matriz original. De todas maneras el puntero interno a la matriz original avanza al procesar la matriz. suponiendo que bucle foreach se ejecuta hasta el final, el puntero interno a la matriz estar/aacute; al final de la matriz";


function 
new_textwrap ($String$cortar 19$breakStr "\n"$cut $padStr="<br>") {
  
   
$newString="";
   
$lines=explode($breakStr$String);
   
$cnt=count($lines);
   for(
$x=0;$x<$cnt;$x++){
     if(
strlen($lines[$x])>$cortar){
       
$str=$lines[$x];
       while(
strlen($str)>$cortar){
         
$find ;
       
         
$pos=strrpos(substr($str0$cortar+1), "");
         if (
$pos == false) {
             If(
$cut) {
                 
$pos $cortar ;
                 
$find ;
             } else {
                 
$posstrpos($str"");
                 if (
$pos == false)
                     break;
             }
         }
         
$newString.=$padStr.substr($str0$pos).$breakStr;
         
$str=(substr($str$pos $find)); 

       }
       
$newString.=$padStr.$str.$breakStr;
     }
     else{
       
$newString.=$padStr.$lines[$x].$breakStr;
     }
   }

   return 
substr ($newString,0, -(strlen($breakStr)));

}
echo 
new_textwrap($texto);

?>
__________________
Hay tanto que aprender y tan poco tiempo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:06.