Foros del Web » Programando para Internet » PHP »

Añadir salto de linea en palabras mayores de 10 caracteres

Estas en el tema de Añadir salto de linea en palabras mayores de 10 caracteres en el foro de PHP en Foros del Web. Hola!!! Queria añadir un espacio en la palabra que ocupe mas de 10 caracters en una variable de texto, el espacio va despues del caracter ...
  #1 (permalink)  
Antiguo 15/09/2003, 20:44
aso
 
Fecha de Ingreso: septiembre-2003
Mensajes: 20
Antigüedad: 20 años, 7 meses
Puntos: 0
Añadir salto de linea en palabras mayores de 10 caracteres

Hola!!!

Queria añadir un espacio en la palabra que ocupe mas de 10 caracters en una variable de texto, el espacio va despues del caracter numero 10,

esto es que en si la variable es $texto = "ser o no ser, esa es la cuestión, superfragilistico."

a la hora de visualizar la variable en pantalla quede asi:

ser o no ser, esa es la cuestión, superfrag
ilistico


Muchas gracias!!!!!!!!!!!!!!!!!!!!!!!!!!
  #2 (permalink)  
Antiguo 15/09/2003, 23:29
 
Fecha de Ingreso: julio-2003
Ubicación: No hay destino
Mensajes: 31
Antigüedad: 20 años, 9 meses
Puntos: 0
Hola, usando la función substr(); y strlen(); hice esta pequeña función que te puede servir, tal vez no sea la mejor manera de hacerlo, pero fue lo que se me ocurrio:

Código PHP:
<?php
$texto
="Ser o no ser, esa es la cuestión, superfragilistico.";
function 
cortar_palabra($texto,$largo)
{
    
$cadena=""//Variable que contendra la nueva cadena
    //Separamos cada palabra de la cadena
    
$palabra=explode(" ",$texto);

    
//Recorremos cada palabra, checando si tiene más de 10 caracteres
    //y concatenando cada palabra en una nueva variable, ($cadena)
    
for($a=0$a<=count($palabra); $a++)
    {
        if(
trim($palabra[$a])!="" and strlen($palabra[$a])>$largo)
        {
            
$cadena .=substr($palabra[$a],0,$largo)."<br>".substr($palabra[$a],$largo,strlen($palabra[$a]))." ";
        }
        else
        {
            
$cadena .=$palabra[$a]." ";
         }
    }
    return 
$cadena//Retornamos la nueva cadena
}
//Despues para usar la función solo hacemos:
echo cortar_palabra($texto,10);  
?>
Saludos.
  #3 (permalink)  
Antiguo 16/09/2003, 01:43
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 22 años, 5 meses
Puntos: 5
mu bueno el code pero que pasa si tenemos esto:
Código PHP:
$var "hola  esto es una prueba con  dos espacios  "
Para estos casos envez de romper la cadena con explode() yo usaria: split("[:space:]", $var);


Saludillos
__________________
Usuario registrado de Linux #288725
  #4 (permalink)  
Antiguo 16/09/2003, 03:33
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 21 años
Puntos: 1
bueno para este caso yo utilizaria la funcion php wordwrap()

if(strlen($texto) > 10)
$texto = wordwrap($texto,10,"<br>",1);

siendo 10 el numero de caracteres, aunque claro pones los
que quieras

un saludo
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 03:10.