Foros del Web » Programando para Internet » PHP »

Agregar salto de línea cada 70 caracteres dentro de <pre>

Estas en el tema de Agregar salto de línea cada 70 caracteres dentro de <pre> en el foro de PHP en Foros del Web. Necesito de, alguna forma, insertar un salto de línea (\n) cada 70 caracteres a todo lo que se encuentre entre <pre> y </pre>. Estuve probando ...
  #1 (permalink)  
Antiguo 02/07/2006, 16:05
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 19 años, 2 meses
Puntos: 0
Agregar salto de línea cada 70 caracteres dentro de <pre>

Necesito de, alguna forma, insertar un salto de línea (\n) cada 70 caracteres a todo lo que se encuentre entre <pre> y </pre>.

Estuve probando usando wordwrap() y expresiones regulares, pero soy bastante malo para esto último.

¿Alguna ayuda?

Gracias
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #2 (permalink)  
Antiguo 02/07/2006, 18:21
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
lo único que se me ocurre es como ubicarnos dentro de <pre> y </pre>

Código PHP:
$pre strpos($mensaje'<pre>');
$pre2 strpos($mensaje'</pre>');

for(
$i 1$i <= strlen($mensaje); $i++)
{
$mensajePre substr($mensaje070)."\n";
}


return 
$pre.$mensajePre.$pre2
nosé si existirá eso... pero no pierdes nada con probar :P ... Jojojo
  #3 (permalink)  
Antiguo 02/07/2006, 18:30
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 19 años, 2 meses
Puntos: 0
El ciclo está medio raro, pero no importa, porque el corte en sí lo puedo hacer con wordwrap.

El problema con strpost es que encuentra la primera ocurrencia unicamente, pero no se me había ocurrido ese enfoque. Voy a ver si con eso lo puedo hacer.

Gracias
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #4 (permalink)  
Antiguo 02/07/2006, 19:09
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 19 años, 2 meses
Puntos: 0
Creo que lo logré:

Código PHP:
function wrapPre($str) {
    
                
$text explode('<pre>'$str);
            
$parsed $text[0];
            
            if(
count($text) > 1) {
            
                for(
$i=1$i<count($text); $i++) {
                    
$temp explode('</pre>'$text[$i]);
                    
$parsed .= "\n".'<pre>'.wordwrap($temp[0], 70" ¶\n").'</pre>';
                    
$parsed .= $temp[1];
                }
                
                
$str $parsed;
                
            }
            
            return(
$str);
        
    } 
EDIT: No sé si funciona 100%, pero lo solucioné de otra forma :P
EDIT2: Mentira, no lo solucioné. HELP!

Suerte
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar

Última edición por thunder.scripts; 02/07/2006 a las 19:22
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 14:45.