Comunidad de diseño web y desarrollo en internet online

Longitud de palabras de una cadena

Citar            
MensajeEscrito el 13 Feb 2007 08:14 pm
Quiero poder restringir la cantidad de letras de cada palabra de una cadena de texto, es para un sistema de comentarios, lo que deseo es evitar que una persona escriba algo como:

"Holaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

Ya que si se extiende demasiado puede romper con el diseño del site.

Se que debo buscar palabra por palabra en la cadena de texto pero no se como hacerlo y cual seria la funcion que me serviria en este caso

Por Takashi

Claber

105 de clabLevel



Genero:Masculino  

Caracas - Venezuela

msie
Citar            
MensajeEscrito el 13 Feb 2007 09:39 pm
Acá va: si encuentra una cadena muy larga, la trunca:

los comentarios estan un poco "chapuzas" pero si revisais el codigo podeis cambiar algunas cosillas.

Código :

<?php

  $prueba = 'holaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa como estan todos';


  if( ereg('[^ ]{50} ',$prueba) ): //si encuentra una cadena igual o de mas de 50 caracteres...
  
    $prueba = str_replace ("'", '&cs;',$prueba ); //si hay una comilla simple en el comentario se cambia por un caracter temporal para no ocasionar error
  
    $tmp = preg_replace('@([^ ]{50,})@',"'.substr('$1',0,40).'... ",$prueba); //se "trunca" la cadena a 40 caracteres usando substr y se colocan 3 punticos al final de la cadena larga truncada, para que se vea mas guay
  
    eval("\$prueba = '$tmp';"); //usamos eval para que "corra" el substr
   
   $prueba = str_replace ('&cs;',"'",$prueba ); //reemplazamos el codigo a comilla simple de nuevo
  
  endif;
  
  echo $prueba; //se imprime ^^

?>

Por Duilio

Claber

2590 de clabLevel

25 tutoriales
1 articulo

Genero:Masculino   Premio_Secretos

Venezuela

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.