Foros del Web » Programando para Internet » PHP »

Aporte: Function: bbcode a html

Estas en el tema de Aporte: Function: bbcode a html en el foro de PHP en Foros del Web. [ quote]cita1[ /quote] [ quote]cita2[ /quote] AHORA CON CODE [ code]code1[ /code] [ code]code2[ /code] Sacale los espacios.. El code queda resaltador porque uso un ...

  #31 (permalink)  
Antiguo 09/12/2009, 09:13
Avatar de almagropaco_  
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 16 años, 7 meses
Puntos: 25
Respuesta: Aporte: Function: bbcode a html

[ quote]cita1[ /quote]
[ quote]cita2[ /quote]

AHORA CON CODE
[ code]code1[ /code]
[ code]code2[ /code]

Sacale los espacios..

El code queda resaltador porque uso un Javascript, pero mira.
Cita:
  #32 (permalink)  
Antiguo 09/12/2009, 09:17
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Aporte: Function: bbcode a html

agregale una U a los patrones modificadores de la expresion regular

quedaria algo asi

$bbcode [] = '/\[quote\](.*)\[\/quote\]/isU';
$html [] = '<div' . TITLE_DATA . '>Cita:</div><blockquote' . BOX_STYLE . '>$1</blockquote>';
__________________
More about me...
~ @rhyudek1
~ Github
  #33 (permalink)  
Antiguo 09/12/2009, 09:23
Avatar de almagropaco_  
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 16 años, 7 meses
Puntos: 25
Respuesta: Aporte: Function: bbcode a html

Gracias, funciona perfecto.. Tambien le agrege la U a los align

Última edición por almagropaco_; 09/12/2009 a las 09:30
  #34 (permalink)  
Antiguo 09/12/2009, 20:21
Avatar de almagropaco_  
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 16 años, 7 meses
Puntos: 25
Respuesta: Aporte: Function: bbcode a html

Me parece que este ya es el ultimo problema ya que es lo ultimo que me queda por usar, [font], [size] y [color].. Ahora tengo este problema que si yo escribo
Cita:
A[size=18]Texto de prueba.[ /size]B
Solo sale escrito AB, cuando hay [color] y/o [size] y/o [font], juntos, al menos 2, no se muestra el texto encerrado en esas etiquetas.. Me parece que cuando hay 2 se anulan y ademas tambien el texto encerrado en esas etiquetas, probe con eso de is, i o isU, logre algo, pero no era perfecto, asi que lo volvi a la normalidad.

Última edición por almagropaco_; 10/12/2009 a las 07:54
  #35 (permalink)  
Antiguo 10/12/2009, 06:02
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Aporte: Function: bbcode a html

te pido lo mismo que el denantes.. que pongas un ejemplo como el de arriba del problema para probarlo en local y arreglarlo :B

saludos!
__________________
More about me...
~ @rhyudek1
~ Github
  #36 (permalink)  
Antiguo 10/12/2009, 07:55
Avatar de almagropaco_  
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 16 años, 7 meses
Puntos: 25
Respuesta: Aporte: Function: bbcode a html

Lo puse, pero me olvide de ponerle los espacios, perdon.
Cita:
[size=18 ][color=indigo ]Texto de prueba.[/color][/size]
  #37 (permalink)  
Antiguo 10/12/2009, 08:06
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Aporte: Function: bbcode a html

:o revisa la primera pagina de este post.. actualize un poco el codigo.. y probe tu ejemplo y funciona correctamente..

saludos!
__________________
More about me...
~ @rhyudek1
~ Github
  #38 (permalink)  
Antiguo 10/12/2009, 08:52
Avatar de almagropaco_  
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 16 años, 7 meses
Puntos: 25
Respuesta: Aporte: Function: bbcode a html

Gracias, por todo, por solucionarme todos los problemas. Lastima que no te puedo dar karma de vuelta:S me dice que tengo que esparcir mas para darte otra vez.. Saluods y muchas gracias.
  #39 (permalink)  
Antiguo 10/12/2009, 08:55
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Aporte: Function: bbcode a html

no te preocupes ... gracias a q me dices los errores que tienes es que la función va mejorando..
__________________
More about me...
~ @rhyudek1
~ Github
  #40 (permalink)  
Antiguo 10/12/2009, 10:43
 
Fecha de Ingreso: agosto-2008
Ubicación: Peru
Mensajes: 217
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Aporte: Function: bbcode a html

gracias por el aportew ta chevere, a la gente le sirve mucho, gracias
  #41 (permalink)  
Antiguo 13/12/2009, 13:42
Avatar de chechu_  
Fecha de Ingreso: mayo-2007
Mensajes: 282
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: Aporte: Function: bbcode a html

Hola, he seguido este hilo, pero estoy teniendo un problema que no consigo solucionar, y es que cuando pongo dos bbcodes juntos parece que se mezclan.
Como una imagen vale más que mil palabras os muestro como queda este texto.

Código HTML:
[color=#FF4000][b]HOLAA[/b][/color]


[color=#FF4000]HOLAA[/color]
[b]HOLAA[/b]

[b]HOLAA[/b]
holaaa
  #42 (permalink)  
Antiguo 13/12/2009, 14:51
Avatar de chechu_  
Fecha de Ingreso: mayo-2007
Mensajes: 282
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: Aporte: Function: bbcode a html

Bueno, ya que he encontrado la solución a mi problema voy a intentar ayudar un poco.

Aquí tenéis la forma en que a mí me ha funcionado sin ningún tipo de problemas, solo he tengo que añadir unas interrogaciones en los (.*) de forma que quedan así (.*?)

Código PHP:
<?php
function bbcode2html($cadena){
    
    
/* Definicion de estilos para los elementos html */
    
    
DEFINE("PRE_DATO",' style="font-size:11px;color:#666;"');
    
DEFINE("BOX_STYLE",' style="border:1px solid #ccc;padding:5px;margin:3px;"');
    
    
/* Traspaso de BBCODE a HTML */
    
    
$bbcode[] = '/\[b\](.*?)\[\/b\]/is'$html[] = '<b>$1</b>';
    
    
$bbcode[] = '/\[u\](.*?)\[\/u\]/is'$html[] = '<u>$1</u>';
    
    
$bbcode[] = '/\[i\](.*?)\[\/i\]/is'$html[] = '<i>$1</i>';
    
    
$bbcode[] = '/\[s\](.*?)\[\/s\]/is'$html[] = '<s>$1</s>';
    
    
$bbcode[] = '/\[br\]/iU'$html[] = '<br />';
    
    
$bbcode[] = '/\[font=(?:"|\')?(.*?)(?:"|\')?\](.*?)\[\/font\]/is'$html[] = '<span style="font-family:$1;">$2</span>';
    
    
$bbcode[] = '/\[size=(?:"|\')?(.*?)(?:"|\')?\](.*?)\[\/size\]/is'$html[] = '<span style="font-size:$1px;">$2</span>';
    
    
$bbcode[] = '/\[url\](.*?)\[\/url\]/i'$html[] = '<a href="$1">$1</a>';
    
    
$bbcode[] = '/\[url=(?:"|\')?(.*?)(?:"|\')?\](.*?)\[\/url\]/i'$html[] = '<a href="$1">$2</a>';
    
    
$bbcode[] = '/\[quote\](.*?)\[\/quote\]/is'$html[] = '<blockquote'.BOX_STYLE.'>$1</blockquote>';
    
    
$bbcode[] = '/\[quote=(?:"|\')?(.*?)(?:"|\')?\](.*?)\[\/quote\]/is'$html[] = '<div'.PRE_DATO.'>"$1" Escribio:</div><blockquote'.BOX_STYLE.'>$2</blockquote>';
    
    
$bbcode[] = '/\[color=(?:"|\')?(.*?)(?:"|\')?\](.*?)\[\/color\]/i'$html[] = '<font color="$1">$2</font>';
    
    
$bbcode[] = '/\[img\](.*?)\[\/img\]/i'$html[] = '<img src="$1" />';
    
    
$bbcode[] = '/\[email\](.*?)\[\/email\]/i'$html[] = '<a href="mailto:$1">$1</a>';
    
    
$bbcode[] = '/\[email=(?:"|\')?(.*?)(?:"|\')?\](.*?)\[\/email\]/i'$html[] = '<a href="mailto:$1">$2</a>';
    
    
$bbcode[] = '/\[list\](.*?)\[\/list\]/is'$html[] = '<ul>$1</ul>';
    
    
$bbcode[] = '/\[list=1\](.*?)\[\/list\]/is'$html[] = '<ol style="list-style-type:decimal">$1</ol>';
    
    
$bbcode[] = '/\[list=a\](.*?)\[\/list\]/is'$html[] = '<ol style="list-style-type:lower-alpha">$1</ol>';
    
    
$bbcode[] = '/\[\*\](.*?)/iU'$html[] = '<li>$1 ';
    
    
$bbcode[] = '/\[code\](.*?)\[\/code\]/is'$html[] = '<pre'.BOX_STYLE.'>$1</pre>';
    
    
$bbcode[] = '/\[align=(?:"|\')?left(?:"|\')?\](.*?)\[\/align\]/is'$html[] = '<div style="text-align:left;">$1</div>';
    
    
$bbcode[] = '/\[align=(?:"|\')?center(?:"|\')?\](.*?)\[\/align\]/is'$html[] = '<div style="text-align:center;">$1</div>';
    
    
$bbcode[] = '/\[align=(?:"|\')?right(?:"|\')?\](.*?)\[\/align\]/is'$html[] = '<div style="text-align:right;">$1</div>';
    
    
$cadena preg_replace($bbcode,$html,$cadena);
    
    return 
$cadena;
}
?>
  #43 (permalink)  
Antiguo 13/12/2009, 16:42
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: Aporte: Function: bbcode a html



y que paso con bbcode.org??
http://www.bbcode.org
http://bbcode.es
BBCode

ahí hay excelentes scripts a implementar, de verdad...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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.
Tema Cerrado

SíEste tema le ha gustado a 4 personas




La zona horaria es GMT -6. Ahora son las 19:44.