Foros del Web » Programando para Internet » PHP »

Como cortar variables???

Estas en el tema de Como cortar variables??? en el foro de PHP en Foros del Web. En estos foros he encontrado los siguientes ejemplos: Código PHP: function  cortar ( $texto ,  $numero_de_caracteres ) { if ( strlen ( $texto ) >  $numero_de_caracteres ) { // Si la cadena de texto es mayor al número de carácteres ...
  #1 (permalink)  
Antiguo 16/03/2003, 12:42
NiP
 
Fecha de Ingreso: enero-2003
Ubicación: Buenos Aires
Mensajes: 40
Antigüedad: 23 años, 9 meses
Puntos: 0
Como cortar variables???

En estos foros he encontrado los siguientes ejemplos:
Código PHP:
function cortar($texto, $numero_de_caracteres) {
if (
strlen($texto) > $numero_de_caracteres) {
// Si la cadena de texto es mayor al número de carácteres
// cortamos la cadena y ponemos "..."
$array_texto = explode(" ", $texto);
$caracteres = 10;
$resultado = "";

foreach (
$array_texto as $letra) {
if ( (
$caracteres + strlen($letra) > $numero_de_caracteres) ) {
$resultado .= " ...";
break;
} else {
$caracteres += strlen($letra) + 1; //Se suma uno más por el carácter de espacio
if ($resultado != "") { $resultado .= " "; }
$resultado .= $letra;
}
}
return 
$resultado;

} else {
$texto = explode("\n", $string);
$parrafo = $texto[0];
return 
$parrafo;

}
} 
Aquí comienza el otro:

Código PHP:
function parrafin($string) {
$article = explode("\n", $string);
$parrafo = $article[0];
return( 
$parrafo );
} 
Como hago para unirlos??? O sea, que si se pasa el n° de caracteres y no hay un salto de línea ponga los ... y si se pasa pero antes hay un salto, la corte.

NiP agradeceria sus respuestas.
Saludos.
  #2 (permalink)  
Antiguo 16/03/2003, 14:35
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 24 años, 4 meses
Puntos: 16
Hola,

Prueba con:
Código PHP:
$resultado=cortar(parrafin($texto),$num_caracteres);
echo 
$resultado; 
Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 18/03/2003, 14:46
NiP
 
Fecha de Ingreso: enero-2003
Ubicación: Buenos Aires
Mensajes: 40
Antigüedad: 23 años, 9 meses
Puntos: 0
Josemi:
La respusta que me haz dado no funca. No apararece nada del texto y no da ningún error. ¿Qué puede ser?
  #4 (permalink)  
Antiguo 18/03/2003, 15:20
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 24 años, 4 meses
Puntos: 16
Hola,

¿Podrias poner con que datos pruebas? Y tambien prueba a mostrar lo que saca parrafin:
Código PHP:
$resultado1=parrafin($texto);
echo 
$resultado1.'<br>';
$resultado2=cortar($resultado1,30);
echo 
$resultado2; 
Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 21/03/2003, 16:44
NiP
 
Fecha de Ingreso: enero-2003
Ubicación: Buenos Aires
Mensajes: 40
Antigüedad: 23 años, 9 meses
Puntos: 0
No funca 2

Primero, al usar las funciones por separado funciones perfectamente. Pero no he encontrado ninguna forma de "unirlas".
Segundo, al usar la funcion la llamo desde un index.php con un
Código PHP:
include funciones.php 
Luego hago un query en la bd y hago un array
Código PHP:
mysql_fetch_array 
Por último
Código PHP:
echo cortar($row[texto], 225) 
.
Espero que sirva de algo. Saludos y gracias.
  #6 (permalink)  
Antiguo 21/03/2003, 17:04
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 24 años, 4 meses
Puntos: 16
Hola,

Veamos, parrafin te funciona bien. Usala para coger el primer parrafo. Puedes comprobar su tamaño con strlen(). Si es mayor, llamas a cortar, pasandole el primer parrafo. Si te funcionan ambas, esto deberia funcionar. A no ser que los datos sean raros. Pon el texto que quieres cortar.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #7 (permalink)  
Antiguo 22/03/2003, 12:24
NiP
 
Fecha de Ingreso: enero-2003
Ubicación: Buenos Aires
Mensajes: 40
Antigüedad: 23 años, 9 meses
Puntos: 0
Gracias!!!

La respuesta era:
Código PHP:
function cortar_noticia($texto, $numero_de_caracteres) {
$noticia = explode("\n", $texto);
$parrafo = $noticia[0];
if (
strlen($parrafo) > $numero_de_caracteres) {
echo 
cortar($parrafo, $numero_de_caracteres);
echo 
"<br>";
} else {
echo 
$parrafo;
}
} 
Tenias razón Josemi. Muchas Gracias.
  #8 (permalink)  
Antiguo 12/03/2007, 10:07
Avatar de susaninhax  
Fecha de Ingreso: noviembre-2004
Mensajes: 358
Antigüedad: 22 años
Puntos: 3
Pregunta Re: Como cortar variables???

hola buenas, acabo de ver este post, y no estoy muy puesta en funciones, he mirado un libro de php, pero no logro entender como se llama a esa función. es decir, como haces la llamada a la hora de querer mostrar este texto cortado, como haces la llamada a esa función para que corte el texto???? pk tengo un problema similar casi igual, pero no tengo ni idae de como llamar a la función.

MUCHAS gracias de antemanoo!! saludos!
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 18:47.