Foros del Web » Programando para Internet » PHP »

Contar carácteres, menos el espacio.

Estas en el tema de Contar carácteres, menos el espacio. en el foro de PHP en Foros del Web. Tengo una duda, la cual es: ¿Alguna función PHP que te cuenta los carácteres, excepto los espacios? Lo que ocurre es que yo cuando un ...
  #1 (permalink)  
Antiguo 30/01/2011, 19:32
Avatar de Miguelithox  
Fecha de Ingreso: diciembre-2008
Ubicación: Viña del Mar
Mensajes: 287
Antigüedad: 15 años, 3 meses
Puntos: 7
Busqueda Contar carácteres, menos el espacio.

Tengo una duda, la cual es: ¿Alguna función PHP que te cuenta los carácteres, excepto los espacios?

Lo que ocurre es que yo cuando un usuario envía una publicación, primero la compruebo que no esté vacía, luego veo si tiene entre X y Z carácteres. (Por ejemplo no menos de 40, ni más de 100.000)

Pero en el caso de que un usuario haga varios espacios, me los seguiría contando. ¿Alguna forma en la cual no me cuente los espacios?

Saludos.
  #2 (permalink)  
Antiguo 31/01/2011, 09:00
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Contar carácteres, menos el espacio.

Algo así
Código PHP:
Ver original
  1. <?php
  2. $str = 'foo               bar                candy';
  3. $n = 0;
  4. foreach(str_word_count($str, 1) as $v){
  5.     $n += strlen($v);
  6. }
  7. echo $n;
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 31/01/2011, 14:12
Avatar de ColdFusion  
Fecha de Ingreso: octubre-2008
Ubicación: Tocoa, Colon Honduras C.A.
Mensajes: 419
Antigüedad: 15 años, 5 meses
Puntos: 9
Respuesta: Contar carácteres, menos el espacio.

excelente funcion, muy buena
  #4 (permalink)  
Antiguo 31/01/2011, 15:00
Avatar de Miguelithox  
Fecha de Ingreso: diciembre-2008
Ubicación: Viña del Mar
Mensajes: 287
Antigüedad: 15 años, 3 meses
Puntos: 7
Respuesta: Contar carácteres, menos el espacio.

¡Se agradece! Funciona perfecto. Karma para ti ;)
  #5 (permalink)  
Antiguo 31/01/2011, 15:29
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Contar carácteres, menos el espacio.

Si quieres para que se vea un poco recogido y no tengas que usar varias líneas puedes hacerlo de esta forma en una sola línea
Código PHP:
Ver original
  1. <?php
  2. $str = 'foo            bar                candy';
  3. $n = array_sum(array_map('strlen',str_word_count($str, 1)));
  4. echo $n;
Es lo mismo pero declarado todo en una sola línea.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 31/01/2011, 16:16
Avatar de Miguelithox  
Fecha de Ingreso: diciembre-2008
Ubicación: Viña del Mar
Mensajes: 287
Antigüedad: 15 años, 3 meses
Puntos: 7
Respuesta: Contar carácteres, menos el espacio.

Lo dejé en la siguiente forma:
Código PHP:
Ver original
  1. function ContarPalabras($valor) {
  2. $n  =   0;
  3. foreach(str_word_count($valor, 1) as $v){
  4. $n  +=  strlen($v);
  5. }
  6. return $n;
  7. }
  #7 (permalink)  
Antiguo 31/01/2011, 19:11
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 9 meses
Puntos: 88
Respuesta: Contar carácteres, menos el espacio.

creo que tambien puedes usar esto
Código PHP:
Ver original
  1. function ContarCaracater($valor) {
  2. return strlen(str_replace(' ','',$valor));
  3. }
hay que tener cuidado como se maneja el str_word_count ya que los números no los cuenta a menos que se le especifique, chequen los ejemplos del manual

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.

Etiquetas: contar, espacio, menos
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 23:26.