Foros del Web » Programando para Internet » PHP »

Limitar caracteres

Estas en el tema de Limitar caracteres en el foro de PHP en Foros del Web. Hola, a ver si alguien consigue ayudarme porque es que he estado buscando y probado de muchas formas y nada (tambien es que soy novato ...
  #1 (permalink)  
Antiguo 04/07/2008, 05:37
Avatar de PDD_20  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 413
Antigüedad: 16 años, 3 meses
Puntos: 1
Limitar caracteres

Hola, a ver si alguien consigue ayudarme porque es que he estado buscando y probado de muchas formas y nada (tambien es que soy novato en php xD).

Quiero limitar el numero de caracteres a mostrar en
Código:
$row['post_text']
.


Código:
$template->assign_block_vars('item', array(
		'AUTHOR'		=> $row['username'],
		'TIME'			=> format_date($row['post_time']),
		'LINK'			=> append_sid("$board_url/viewtopic.$phpEx", 'f=' . $row['forum_id'] . '&t=' . $row['topic_id']),
		'IDENTIFIER'	=> append_sid("$board_url/viewtopic.$phpEx", 'f=' . $row['forum_id'] . '&t=' . $row['topic_id']),
		'TITLE'			=> $row['post_subject'],
		'TEXT'			=> parse_message($row['post_text'], $row['forum_desc_options'], $row['bbcode_uid'], $row['bbcode_bitfield']),
Como puedo hacerlo?

Muchisimas gracias por adelantado.
__________________
El Grupo Informático :: Noticias y foros de Informática
¡Ahora por participar se regalan cheques para Amazon!
  #2 (permalink)  
Antiguo 04/07/2008, 05:56
 
Fecha de Ingreso: julio-2007
Mensajes: 102
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Limitar caracteres

Código PHP:
<?php
$ejemplo 
strlen($row['post_text']);

 if (
$ejemplo=="20") { 

//permitido    

           
}  else {

//restringido

}
?>
  #3 (permalink)  
Antiguo 04/07/2008, 06:01
Avatar de PDD_20  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 413
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Limitar caracteres

Cita:
Iniciado por vivi_ Ver Mensaje
Código PHP:
<?php
$ejemplo 
strlen($row['post_text']);

 if (
$ejemplo=="20") { 

//permitido    

           
}  else {

//restringido

}
?>
Eso no me va bien, me muestra numeros aleatoriamente sin ningun sentido en principio xD

:S
__________________
El Grupo Informático :: Noticias y foros de Informática
¡Ahora por participar se regalan cheques para Amazon!
  #4 (permalink)  
Antiguo 04/07/2008, 08:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Limitar caracteres

Hola PDD_20,

Yo creo deberías usar substr():
Código PHP:
echo substr$row['post_text'], 020 ); 
Saludos.
  #5 (permalink)  
Antiguo 04/07/2008, 08:17
Avatar de PDD_20  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 413
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Limitar caracteres

De esa forma me da error :S

Creo que es porque asi no puede ir bien en la linea que esta colocado, fijate en el codigo completo que he posteado tambien.

Salu2
__________________
El Grupo Informático :: Noticias y foros de Informática
¡Ahora por participar se regalan cheques para Amazon!
  #6 (permalink)  
Antiguo 04/07/2008, 08:22
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 7 meses
Puntos: 28
Respuesta: Limitar caracteres

q error t esta mostrando?
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #7 (permalink)  
Antiguo 04/07/2008, 08:25
Avatar de PDD_20  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 413
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Limitar caracteres

Parse error: syntax error, unexpected T_ECHO, expecting ')' on line 166
__________________
El Grupo Informático :: Noticias y foros de Informática
¡Ahora por participar se regalan cheques para Amazon!
  #8 (permalink)  
Antiguo 04/07/2008, 08:29
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Limitar caracteres

Pon las lineas 160 - 170 para que podamos ver el error.

Saludos.
  #9 (permalink)  
Antiguo 04/07/2008, 08:29
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 7 meses
Puntos: 28
Respuesta: Limitar caracteres

mmmmmmmmmmmmmm
Código PHP:

parse_message
(substr$row['post_text'], 020 ); , 
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #10 (permalink)  
Antiguo 04/07/2008, 08:31
Avatar de PDD_20  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 413
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Limitar caracteres

Código:
$template->assign_block_vars('item', array(
		'AUTHOR'		=> $row['username'],
		'TIME'			=> format_date($row['post_time']),
		'LINK'			=> append_sid("$board_url/viewtopic.$phpEx", 'f=' . $row['forum_id'] . '&amp;t=' . $row['topic_id']),
		'IDENTIFIER'	=> append_sid("$board_url/viewtopic.$phpEx", 'f=' . $row['forum_id'] . '&amp;t=' . $row['topic_id']),
		'TITLE'			=> $row['post_subject'],
		'TEXT'			=> parse_message(echo substr( $row['post_text'], 0, 20 );  , $row['forum_desc_options'], $row['bbcode_uid'], $row['bbcode_bitfield']),		
		)
	);	
}
__________________
El Grupo Informático :: Noticias y foros de Informática
¡Ahora por participar se regalan cheques para Amazon!
  #11 (permalink)  
Antiguo 04/07/2008, 08:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Limitar caracteres

Hola PDD_20,

No puedes usar un echo directamente dentro de una función, es por eso que te da el error, debes de usar solamente substr.

Te recomiendo leas un manual básico de PHP ya que tienes dudas conceptuales que se te podrían resolver si estudias un poco.

Saludos.
  #12 (permalink)  
Antiguo 04/07/2008, 08:35
Avatar de PDD_20  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 413
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Limitar caracteres

Si, tengo intenciones de hacer eso este verano.

Pero ahora os pido arrodillado que me ayudeis con esto please.

Que debo hacer para limitar el numero de caracteres de eso?

Muchas Gracias.
__________________
El Grupo Informático :: Noticias y foros de Informática
¡Ahora por participar se regalan cheques para Amazon!
  #13 (permalink)  
Antiguo 04/07/2008, 08:37
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 7 meses
Puntos: 28
Respuesta: Limitar caracteres

elimina el echo como t indique y nos cuentas
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #14 (permalink)  
Antiguo 04/07/2008, 08:38
Avatar de PDD_20  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 413
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Limitar caracteres

Ahora el error es este: Parse error: syntax error, unexpected ';'

Thanks
__________________
El Grupo Informático :: Noticias y foros de Informática
¡Ahora por participar se regalan cheques para Amazon!
  #15 (permalink)  
Antiguo 04/07/2008, 08:40
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 7 meses
Puntos: 28
Respuesta: Limitar caracteres

dios!!! Oo
jeje.. elimina el ; q esta al final..
Código PHP:
parse_message(substr$row['post_text'], 020 ) , 
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #16 (permalink)  
Antiguo 04/07/2008, 08:42
Avatar de PDD_20  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 413
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Limitar caracteres

Os doy URL de donde esta este archivo: http://www.elgrupoinformatico.com/rss-noticias.php

Ahora no aparecen las entradas RSS :S

me suena a ver hecho ya estoy hoy varias veces jaja

Salu2
__________________
El Grupo Informático :: Noticias y foros de Informática
¡Ahora por participar se regalan cheques para Amazon!
  #17 (permalink)  
Antiguo 04/07/2008, 08:44
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 7 meses
Puntos: 28
Respuesta: Limitar caracteres

no se puede mostrar el sitio
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #18 (permalink)  
Antiguo 04/07/2008, 08:46
Avatar de PDD_20  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 413
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Limitar caracteres

En IE no pero en Firefox si. Es debido a los errores que hay.

Pero el problema es ahora que no muestra ningun caracter de la entrada RSS

Salu2
__________________
El Grupo Informático :: Noticias y foros de Informática
¡Ahora por participar se regalan cheques para Amazon!
  #19 (permalink)  
Antiguo 04/07/2008, 09:02
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 7 meses
Puntos: 28
Respuesta: Limitar caracteres

donde llamas a tus entradas??
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #20 (permalink)  
Antiguo 04/07/2008, 09:03
Avatar de PDD_20  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 413
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Limitar caracteres

Estan en [post_text] si es eso a lo que te refiere que creo que no...

es que no se de php y mysql :S

Salu2
__________________
El Grupo Informático :: Noticias y foros de Informática
¡Ahora por participar se regalan cheques para Amazon!
  #21 (permalink)  
Antiguo 04/07/2008, 09:12
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 7 meses
Puntos: 28
Respuesta: Limitar caracteres

si le quitas el substrat t los muestra??? cuantos caraceres quieres q muestre
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #22 (permalink)  
Antiguo 04/07/2008, 09:13
Avatar de PDD_20  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 413
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Limitar caracteres

Unos 200, una pequeña descripcion solo del post (el comienzo) y no todo el post.

Salu2
__________________
El Grupo Informático :: Noticias y foros de Informática
¡Ahora por participar se regalan cheques para Amazon!
  #23 (permalink)  
Antiguo 04/07/2008, 09:24
Avatar de PDD_20  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 413
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Limitar caracteres

He pensado una forma que no si vosotros que entendeis de php la veis mas facil...

Cada post tiene un meta tag descripcion generado por un mod de phpbbSEO, si de cada post sacamos la descripcion en vez de todo el post funcionaria, el problema es que esta descripcion no esta en la base de datos sino que es generada por el mod y ya esta.

O tambien se puede limitar la busqueda en la BD, os dejo el codigo de busqueda en la BD:

Código:
$sql = 'SELECT t.topic_title, t.topic_type, p.poster_id, p.post_subject, p.post_text, p.bbcode_uid, p.bbcode_bitfield, p.topic_id, p.forum_id, p.post_time, f.forum_name, f.forum_desc_options, u.username
		' . $sql_from . '
		WHERE (u.user_id = p.poster_id)
		AND p.post_approved = 1
		AND (f.forum_id = p.forum_id)
		' . $sql_where . '
		ORDER BY post_time DESC';
$result = $db->sql_query_limit($sql, $count);

while( ($row = $db->sql_fetchrow($result)) )
{
Salu2 y gracias.
__________________
El Grupo Informático :: Noticias y foros de Informática
¡Ahora por participar se regalan cheques para Amazon!
  #24 (permalink)  
Antiguo 04/07/2008, 09:41
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 7 meses
Puntos: 28
Respuesta: Limitar caracteres

Código PHP:
parse_message(substr$row['post_text'], 0200 )  , $row['forum_desc_options'], $row['bbcode_uid'], $row['bbcode_bitfield']),        
        )
    );    

deberia funcionar
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #25 (permalink)  
Antiguo 04/07/2008, 09:43
Avatar de PDD_20  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 413
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Limitar caracteres

Cita:
Iniciado por T4ke0veR Ver Mensaje
Código PHP:
parse_message(substr$row['post_text'], 0200 )  , $row['forum_desc_options'], $row['bbcode_uid'], $row['bbcode_bitfield']),        
        )
    );    

deberia funcionar
No muesta las entradas :S

Salu2
__________________
El Grupo Informático :: Noticias y foros de Informática
¡Ahora por participar se regalan cheques para Amazon!
  #26 (permalink)  
Antiguo 04/07/2008, 10:05
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 7 meses
Puntos: 28
Respuesta: Limitar caracteres

aaaafffffffffff donde estara el error... ahora si me enrede.. deberia mostrarlas !!!! dejame pensar =/
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #27 (permalink)  
Antiguo 05/07/2008, 05:08
Avatar de PDD_20  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 413
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Limitar caracteres

He pensado algo interesante de donde podemos aprovechar datos, el problema es que no se PHP para hacer eso.

En el archivo viewtopic.php existe
Código:
$seo_meta->meta['meta_desc']
que es lo que yo quiero mostrar ya que es una funcion para generar el meta tag descripcion y que podemos aprovechar en la RSS(una pequeña descripcion), como podemos incorpora eso en el rss-noticias??

Salu2 y gracias por todo.
__________________
El Grupo Informático :: Noticias y foros de Informática
¡Ahora por participar se regalan cheques para Amazon!
  #28 (permalink)  
Antiguo 07/07/2008, 07:23
Avatar de PDD_20  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 413
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Limitar caracteres

Ya consegui solucionar esto gracias a FeedBurner, he personalizado la RSS con FeedBurner y listo. http://www.elgrupoinformatico.com/rss-noticias.php

Muchas gracias por vuestra ayuda y colaboracion

Saludos.
__________________
El Grupo Informático :: Noticias y foros de Informática
¡Ahora por participar se regalan cheques para Amazon!
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:32.