Foros del Web » Programando para Internet » PHP »

substr - Pero con bbcode

Estas en el tema de substr - Pero con bbcode en el foro de PHP en Foros del Web. Hola a todos. Bueno, tengo mi problemita: Tengo un portal, donde muestra una parte de las noticias. La cosa es que tienen bbcode, bah, en ...
  #1 (permalink)  
Antiguo 02/12/2008, 14:06
Avatar de Breaklo  
Fecha de Ingreso: junio-2008
Ubicación: Buenos Aires
Mensajes: 95
Antigüedad: 16 años, 5 meses
Puntos: 1
substr - Pero con bbcode

Hola a todos.

Bueno, tengo mi problemita:
Tengo un portal, donde muestra una parte de las noticias.
La cosa es que tienen bbcode, bah, en bd esta como html.

Bueno, cuando una noticia pasa el limite de caracteres, y termina con algo de bbcode, no se cierra. y me queda toda la pagina con el formato que no se cerro..


Hay alguna manera de editar esto'

mi funcion limitar :

Código PHP:
<?
function limitar_texto($texto,$maximo,$remplazo) { 
  if (
strlen($texto) > $maximo)  {
  
$texto substr($texto0$maximo);
  
$texto .= $remplazo;
  }
  return 
$texto;
}  
?>
  #2 (permalink)  
Antiguo 02/12/2008, 14:49
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 20 años
Puntos: 34
Respuesta: substr - Pero con bbcode

Tenés dos:
1- Limpias de bbcode el texto y luego lo cortas (fácil).
2- Cortas dejando el bbcode (Un poco más complejo).

Para ambos casos te conviene usar regular expresions...personalmente en una bajada no me gusta ver formato por lo que me quedaría con la opción 1, pero vos dirás que preferís.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 02/12/2008, 18:05
Avatar de Breaklo  
Fecha de Ingreso: junio-2008
Ubicación: Buenos Aires
Mensajes: 95
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: substr - Pero con bbcode

Como seria la segunda opcion?
Que tanto mas compleja?

Los registros de la base de datos no tienen BBcode, sino el codigo html.
  #4 (permalink)  
Antiguo 02/12/2008, 18:36
 
Fecha de Ingreso: diciembre-2008
Mensajes: 102
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: substr - Pero con bbcode

para eso deberias hacer lo primero manda si bbcode y corta es mejor y se usa en todos lados y si es mas compleja mucho mas compleja saludos
  #5 (permalink)  
Antiguo 02/12/2008, 18:39
Avatar de Breaklo  
Fecha de Ingreso: junio-2008
Ubicación: Buenos Aires
Mensajes: 95
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: substr - Pero con bbcode

pero igual

[ b ] blablablablbaasjiofisf [ / b ]
(lo rojo es lo que corta)

ese es el error... me corta los comandos..
  #6 (permalink)  
Antiguo 02/12/2008, 18:48
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: substr - Pero con bbcode

yo pienso, que lo mejor es limpiar el formato y cortar ...

imaginemos (que fuera BBCode/HTML)

Código:
<p><em>okoko<span>ok</span>kokook</em></p> 
si lo cortas a 20 caracteres... como piensas corregirlo ???

quedan demasiado abiertos los tags, y se pierde la paridad ...

bueno .... si, hay formas ... técnicas, pero son muy a la fuerza bruta ... vaya, no son lo ideal ....
(demás, terminan rompiendo el formato mas que corregirlo)


PDTA: si, estoy divagando ... pero es verdad, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 03/12/2008, 06:46
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 20 años
Puntos: 34
Respuesta: substr - Pero con bbcode

Para hacer la segunda opción lo que haría es limpiar el bbcode, cortar, y ahí ya sabes donde deberías cortar el "texto". Tomas el string con el bbcode y cortas justo ahí.

Seguramente esto se te complique, por eso te recomiendo que desde donde das de alta éste texto crees otro input donde puedan poner una "bajada bbcode" y ahí el administrador de contenidos cargue ya el "texto reducido".

Saludos.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
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 21:24.