Foros del Web » Programando para Internet » PHP »

Sistema de noticias Leer mas.

Estas en el tema de Sistema de noticias Leer mas. en el foro de PHP en Foros del Web. Hola stoy haciendo el sistema de noticias en donde se muestra, 4 o 5 renglones de la noticia y abajo un link de "Leer más". ...
  #1 (permalink)  
Antiguo 28/11/2010, 15:35
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Sistema de noticias Leer mas.

Hola stoy haciendo el sistema de noticias en donde se muestra, 4 o 5 renglones de la noticia y abajo un link de "Leer más".

El problema que he encontrado es que si la noticia contiene imagenes y etiquetas html , como podría hacer para que cuando se muestra el perrafo inicial no caiga justo en medio de una etiqueta:

por ejemplo si muestro los peimeros 400 caracteres de la noticia y justo el ceracter 400 está en medio de una imagen. ejemplo

Donde la letra C es el caracter numero 400:

<img scr="mi_imagen.jpg"/>

Se entiende mi problema???

Gracias a todos
Saludos

.
__________________
la la la
  #2 (permalink)  
Antiguo 28/11/2010, 17:05
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Sistema de noticias Leer mas.

Bueno ya que nadie contestaba tube que pensar como hacerlo y se me ocurrió una forma de hacerlo, por favor digan que les parece:



Código PHP:
<?php
//texto con etiquetas html
$texto='<p>descripcion </p><p>descripcion descripcion</p><p> descripcion <img src="img/1287042516_graduated.png" width="35" height="35" />descripcion </p>';
//mostramos el texto original
echo 'TEXTO ORIGINAL:'.$texto;
echo 
'<hr>';
//convertimos la cadena en un array
$texto=str_split($texto);
//mostramos el texto limpio
echo 'TEXTO LIMPIO SIN ETIQUETAS HTML:<br>';
foreach (
$texto as $caracteres){
    if(
$caracteres=='<'){
        
$control=1;
    }
    if(
$caracteres=='>'){
        
$control=2;
    }
    if(
$control==0){
        echo 
$caracteres;
    }
    if(
$control==2){
    
$control=0;
    }
}
?>
__________________
la la la
  #3 (permalink)  
Antiguo 28/11/2010, 17:15
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Sistema de noticias Leer mas.

<saludos>
a ver, pregunto algo, estas guardando dentro
del contenido de la noticia el código del tag html de la imagen???

si es así, pues no creo que sea lo mejor, yo lo que haria
es guardar por ej IMG1 y tendría otro campo en la bd
donde guardo la imagen

Y cuando muestro la noticia, busco si tiene IMG1, y si es así,
reemplazo eso por el tag img y le envio la url de la imagen
(la que tengo en otro campo en la bd)
</saludos>
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #4 (permalink)  
Antiguo 28/11/2010, 17:40
Avatar de illman  
Fecha de Ingreso: mayo-2001
Mensajes: 115
Antigüedad: 23 años
Puntos: 0
Respuesta: Sistema de noticias Leer mas.

Puesdes utilizar strip_tags http://php.net/manual/es/function.strip-tags.php

Básicamente lo que hace esta función es quitar todos los tags HTML de una cadena, tiene un segundo parámetro para que le indiques que tags quieres que sean conservados...

Saludos
  #5 (permalink)  
Antiguo 28/11/2010, 17:41
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Sistema de noticias Leer mas.

Hola , tengo un editor wishing, en el que se postéa la Noticia, y se guerda todo ese codigo en la base de datos, obviamente tiene etiquetas html.
Al momento de mostrar un trozo de texto de esa noticia y abajo un link de Leer más... el problema esra que si había una etiqueta html justo en el ultimo caracter se complicaba al mostrar.. con este codigo que hice se eliminan todas las qtiquetas html, y solo se muestra texto. y ahora si puedo mostrar un trozo de texto sin problemas ya que no hay etiquetas html que interrumpan...

Se entiendo???
__________________
la la la
  #6 (permalink)  
Antiguo 28/11/2010, 17:43
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Sistema de noticias Leer mas.

Cita:
Iniciado por illman Ver Mensaje
Puesdes utilizar strip_tags http://php.net/manual/es/function.strip-tags.php

Básicamente lo que hace esta función es quitar todos los tags HTML de una cadena, tiene un segundo parámetro para que le indiques que tags quieres que sean conservados...

Saludos
JAJAJA y porque no me lo dijiste antes jejee
GRACIAS
__________________
la la la

Etiquetas: mas, sitemap
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 11:33.