Foros del Web » Programando para Internet » PHP »

tap tipo bbcode

Estas en el tema de tap tipo bbcode en el foro de PHP en Foros del Web. hola amigos estoy tratando de hacer un tab con bbcode pero no se como hacer para separar el bbcode por el php miren: este es ...
  #1 (permalink)  
Antiguo 13/07/2010, 00:37
Avatar de danistrein  
Fecha de Ingreso: septiembre-2008
Ubicación: Salta Capital
Mensajes: 550
Antigüedad: 15 años, 7 meses
Puntos: 9
tap tipo bbcode

hola amigos estoy tratando de hacer un tab con bbcode pero no se como hacer para separar el bbcode por el php miren:

este es el bbcode que hice:
Código HTML:
Ver original
  1. [opcion=1]Contenido 1[/opcion]
  2. [opcion=2]Contenido 2[/opcion]
alguien me podria decir como puedo hacer que [opcion=x]Contenido x[/opcion] separe la informacion en partes asi:
Código HTML:
Ver original
  1. <div>
  2. <a href="">Opcion 1</a>
  3. <a href="">Opcion 2</a>
  4. </div>
  5.  
  6. <div>
  7. <div class="opcion_1">Contenido 1</div>
  8. <div class="opcion_2">Contenido 2</div>
  9. </div>

gracias,
__________________
Appones.net - www.appones.net
  #2 (permalink)  
Antiguo 13/07/2010, 12:45
Avatar de MaTyS  
Fecha de Ingreso: enero-2009
Ubicación: Mar del Plata
Mensajes: 220
Antigüedad: 15 años, 3 meses
Puntos: 18
Respuesta: tap tipo bbcode

Mira esta funcion la hizo pato12 en este aporte
espero que te sirva

Código PHP:
Ver original
  1. function parsearTags($mensaje)
  2. {
  3.     $mensaje = str_replace("[citar]", "<blockquote><hr width='100%' size='2'>", $mensaje);
  4.     $mensaje = str_replace("[/citar]", "<hr width='100%' size='2'></blockquote>", $mensaje);
  5.    
  6.     $mensaje = str_replace("[b]", "<b>", $mensaje);
  7.     $mensaje = str_replace("[/b]", "</b>", $mensaje);
  8.    
  9.     $mensaje = str_replace("[i]", "<u>", $mensaje);
  10.     $mensaje = str_replace("[/i]", "</i>", $mensaje);
  11.  
  12.     $mensaje = str_replace("[php]", '<TABLE width="460" height="58" border="1" cellpadding="2" cellspacing="2" bordercolor="#CCCCCC" bgcolor="#000000">  <TBODY>    <TR>      <TD width="448" height="25" align="right" bgcolor="#FFFFFF"><font color="#000000"><strong>PHP</strong></font></TD>    </TR>    <TR>      <TD height="25" valign="top" bgcolor="#F0F0F0"><font color="#910000">', $mensaje);
  13.     $mensaje = str_replace("[ / p h p]", "</font></TD>  </TR>  </TBODY></TABLE>", $mensaje);
  14.  
  15.  
  16.     return $mensaje;
  17. }

Saludos.
  #3 (permalink)  
Antiguo 13/07/2010, 12:53
Avatar de danistrein  
Fecha de Ingreso: septiembre-2008
Ubicación: Salta Capital
Mensajes: 550
Antigüedad: 15 años, 7 meses
Puntos: 9
Respuesta: tap tipo bbcode

hola MaTyS, en realidad eso no deseo hacer, eso si se como hacerlo , lo que sedeo hacer es separar la informacion para que me retorne 2 partes es decir:

Código HTML:
Ver original
  1. [opcion=1]Contenido[/opcion]
lo pase a esto:
Código HTML:
Ver original
  1. <div>
  2.        <a href="">1</a>
  3. </div>
  4.  
  5. <div>
  6.        <div class="1">Contenido</div>
  7. </div>
como puedes ver separa la info en 2 partes, en el primer div que solo ponga el numero de la opcion y en el segundo div que ponga el numero y el contenido

EDIT:
bueno ya que no encontre como hacerlo de la forma que yo queria lo hice de esta manera:
Código PHP:
Ver original
  1. [menu]
  2. [menuOpcion=1]Opcion 1[/menuOpcion]
  3. [menuOpcion=2]Opcion 2[/menuOpcion]
  4. [menuOpcion=3]Opcion 3[/menuOpcion]
  5. [/menu]
  6. [contenido]
  7. [contenidoOpcion=1][/contenidoOpcion]
  8. [contenidoOpcion=2][/contenidoOpcion]
  9. [contenidoOpcion=3][/contenidoOpcion]
  10. [/contenido]
Código PHP:
Ver original
  1. $codigos_2 = array(
  2.     "/\[menu]\<br \/>/is",
  3.     "/\[menuOpcion=(.*?)\](.*?)\[\/menuOpcion\]\<br \/>/is",
  4.     "/\[\/menu]\<br \/>/is",
  5.     "/\[contenido]\<br \/>/is",
  6.     "/\[contenidoOpcion=(.*?)\](.*?)\[\/contenidoOpcion\]\<br \/>/is",
  7.     "/\[\/contenido]/is",
  8.     "/\[\/contenido]\<br \/>/is",
  9.  
  10. );
  11. $html_2 = array(
  12.     "<div>",
  13.     "<a  href=\"$1\">$2</a>",
  14.     "</div>",
  15.     "<div>",
  16.     "<div class=\"contenido_$1 \">$2</div>",
  17.     "</div>",
  18.     "</div>",
  19. );
  20.  
  21. $contenido = preg_replace($codigos_1, $html_1, $contenido);
dejo el code por si alguien intenta hacerlo alguna vez xD, sirbe para poner tabs :P

__________________
Appones.net - www.appones.net

Última edición por danistrein; 13/07/2010 a las 17:30

Etiquetas: bbcode, tipo
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:06.