elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Ayuda Code PHP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda Code PHP  (Leído 3,879 veces)
Nightwalker89

Desconectado Desconectado

Mensajes: 15


Ver Perfil WWW
Ayuda Code PHP
« en: 8 Marzo 2009, 05:28 am »

<?
 
// Inicializamos las variables
$tamano = 50; // tamaño máximo
$contador = 0;
$texto = 'Este es el texto que se cortará para que no ocupe más de 50 carácteres';
 
// Cortamos la cadena por los espacios
$arrayTexto = split(' ',$texto);
$texto = '';
 
// Reconstruimos la cadena
while($tamano >= strlen($texto) + strlen($arrayTexto[$contador])){
    $texto .= ' '.$arrayTexto[$contador];
    $contador++;
}
echo $texto;
?>

como deberia cambiar ese code para que en caso de ser menor a 50 caracteres los muestre como esta el texto originalmente sin cortar?


En línea

HardieVon

Desconectado Desconectado

Mensajes: 181


Programming HardCore


Ver Perfil WWW
Re: Ayuda Code PHP
« Respuesta #1 en: 8 Marzo 2009, 08:05 am »

oye man me da curiosidad, para que quieres ese codigo?

ya que si lo almacenas pierde el orden y no tendria razón de ser.


En línea

Nightwalker89

Desconectado Desconectado

Mensajes: 15


Ver Perfil WWW
Re: Ayuda Code PHP
« Respuesta #2 en: 8 Marzo 2009, 08:11 am »

como que no tiene razon de ser ? :huh: es para mostrar texto recortado y que la persona tenga que tocar en leer mas...   <algo asi apareceria xD igual ya lo solucione dejo el code por si a alguien mas le sirve mirando aqui y obvio que me pueden sugerir una modificacion para que sea mas eficiente ^^


<?
$tam = 100;
$descripcion = x_descripcion;
if strlen < $tam {
echo x_descripcion
}
else
{
$texto .= ' '.$arrayTexto[$contador];
$contador++;
}
if($texto == '')$texto = substr($arrayTexto[0], 0, $tamano);
echo $texto;
}
?>


En línea

OzX


Desconectado Desconectado

Mensajes: 406

[NuKe] Team


Ver Perfil WWW
Re: Ayuda Code PHP
« Respuesta #3 en: 8 Marzo 2009, 08:22 am »

Perdon si Interprete Mal la Idea XD¡
Pero por lo que entendi.
No sale Mejor así?

Código:
<?
$cadena = "Yo me Llamo Oz, y Tengo 2 Perros y 4 Gatos , Soy Chileno y Algun Dia GAnaremos el Mundial";
$Solo_50 = substr($cadena,0,50);
?>

y Si quieres Contar Palabra
http://cl2.php.net/manual/es/function.str-word-count.php

Saludos¡
« Última modificación: 8 Marzo 2009, 08:24 am por OzX » En línea

Undersecurity.net
eLank0
eLhAcKeR r00Lz


Desconectado Desconectado

Mensajes: 1.062



Ver Perfil WWW
Re: Ayuda Code PHP
« Respuesta #4 en: 8 Marzo 2009, 14:14 pm »

Hola,

Existe una función en PHP llamada str_word_count que te puede servir para hacer lo que quieres, mira:

Código:
<?php

function RecortaCadenas($palabras_mostrar, $cadena)
{
$palabras = str_word_count($cadena, 1);
$num_palabras = str_word_count($cadena, 0);
$parrafo="";

if($num_palabras > $palabras_mostrar)
{
for ($i=0; $i<=$palabras_mostrar; $i++)
{
$parrafo .= $palabras[$i]." ";
        }
       
return $parrafo;
    }
else
{
return $cadena;
    } 

}
 ?>

El 0 y el 1 de la función citada anteriormente, sirven para modificar el formato de la salida de la función, con el 0 devuelve el numero de palabras, con el 1 una matriz con todas las palabras de la cadena. Existe un tercer tipo de formato (numero 2) que consiste en un vector bidimensional donde el primer valor es la posición de la palabra en la cadena y el segundo la misma palabra.

El resto del código supongo que lo entenderás.

Salu2
« Última modificación: 8 Marzo 2009, 14:20 pm por eLank0 » En línea

OzX


Desconectado Desconectado

Mensajes: 406

[NuKe] Team


Ver Perfil WWW
Re: Ayuda Code PHP
« Respuesta #5 en: 8 Marzo 2009, 19:30 pm »

jejeje pues creo que el compañero quiere contar caracteres y no Palabras.
con substr, tienes todo solucionado.

Saludos¡
En línea

Undersecurity.net
Nightwalker89

Desconectado Desconectado

Mensajes: 15


Ver Perfil WWW
Re: Ayuda Code PHP
« Respuesta #6 en: 11 Marzo 2009, 00:11 am »

listo ya lo solucione gracias gente
En línea

Agente Naranja


Desconectado Desconectado

Mensajes: 535


uguu~


Ver Perfil WWW
Re: Ayuda Code PHP
« Respuesta #7 en: 13 Marzo 2009, 13:13 pm »

Yo lo que hago cuando tengo que cortar texto a una cierta longitud es calcular una longitud menor y cortar por el primer espacio que encuentre a partir de dicha longitud.
Ejemplo:
La longitud máxima es 60. Entonces tomo los primeros 50 carácteres de la cadena y corto por el primer espacio encontrado a partir de la posición 50.
Así suele quedar mejor que cortar a mitad de una palabra, y creo que es más rápido que hacer un array con cada una de las palabras (usando split);

Código
  1. $short_string = substring( $long_string, 0 , strpos($long_string, ' ', 50) );
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con code en python
Python
Ricardo95 3 2,727 Último mensaje 1 Diciembre 2010, 19:34 pm
por Novlucker
Ayuda en code asm y Avira
Programación General
chuli17 1 2,191 Último mensaje 19 Marzo 2012, 23:00 pm
por MCKSys Argentina
Ayuda con identificar code de mas !!!
Programación Visual Basic
rembolso 3 2,682 Último mensaje 2 Septiembre 2013, 08:43 am
por shaggikpo
ayuda con code python
Hacking
MessageBoxA 1 3,243 Último mensaje 25 Junio 2013, 03:52 am
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines