Foros del Web » Programando para Internet » PHP »

Problema con BBcode

Estas en el tema de Problema con BBcode en el foro de PHP en Foros del Web. Hola a todos, esoy instalando en un sistema de comentarios una función que interpreta el bbcode, pero no me funciona. Tengo esta función: Código PHP: ...
  #1 (permalink)  
Antiguo 01/10/2010, 12:02
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Problema con BBcode

Hola a todos, esoy instalando en un sistema de comentarios una función que interpreta el bbcode, pero no me funciona. Tengo esta función:

Código PHP:
function BBcode($texto){
   
$a = array(
      
"/\[i\](.*?)\[\/i\]/is",
      
"/\[b\](.*?)\[\/b\]/is",
      
"/\[u\](.*?)\[\/u\]/is"
   
);

   
$b = array(
      
"<i>$1</i>",
      
"<b>$1</b>",
      
"<u>$1</u>"
   
);
   
$texto preg_replace($a$b$texto);
   return 
$texto;

Y, en la función que procesa el comentario:

Código PHP:
function nuevo() {

$_POST['mensaje'] = nl2br($_POST['mensaje']);//tenemos en cuenta los saltos de línea

BBcode($_POST['mensaje']); 
Y el problema es, si yo escribo lo siguiente:

Código HTML:
[b]bbcode en negrita[/b]
[i]bbcode en italica[/i]
[u]bbcode subrallado[/u]
Lo muestra tal cual. Donde está el fallo?
  #2 (permalink)  
Antiguo 01/10/2010, 12:55
 
Fecha de Ingreso: marzo-2010
Mensajes: 37
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Problema con BBcode

al parecer esta bien,

probaste un

Código PHP:
Ver original
  1. return BBcode($_POST['mensaje']);

en la function nuevo?
  #3 (permalink)  
Antiguo 01/10/2010, 13:07
Avatar de Ribon  
Fecha de Ingreso: septiembre-2010
Ubicación: El firmamento
Mensajes: 487
Antigüedad: 13 años, 7 meses
Puntos: 91
Respuesta: Problema con BBcode

Probé tu código y me funcionó a la perfección.

comprueba que estén llegando bien los datos desde el $_POST imprimiendolo tal cual.

tal vez sea que el valor devuelto por BBCode() no lo estás almacenando, pues fijate bien que no estás trabajando con punteros por lo que tienes que recoger el valor devuelto por alguna variable para después imprimierlo.

Código:
function BBcode($texto){ 
   $a = array( 
      "/\[i\](.*?)\[\/i\]/is", 
      "/\[b\](.*?)\[\/b\]/is", 
      "/\[u\](.*?)\[\/u\]/is" 
   ); 

   $b = array( 
      "<i>$1</i>", 
      "<b>$1</b>", 
      "<u>$1</u>" 
   ); 
   $texto = preg_replace($a, $b, $texto); 
   return $texto; 
}

echo BBcode(nl2br("[ b]bbcode en negrita[/b]
[ i]bbcode en italica[/i]
[ u]bbcode subrallado[/u]"));
ese es el codigo con el que probé yo, (obviamente sin espacios, se los puse para que el foro no me transformara)
  #4 (permalink)  
Antiguo 01/10/2010, 13:46
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con BBcode

Lo solucione así:

Código PHP:
$mensaje BBcode($_POST['mensaje']);
print_r($mensaje,true); 

Etiquetas: bbcode
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 04:21.