Foros del Web » Programando para Internet » PHP »

[Aporte] Decode BBCode parseado por nosotros

Estas en el tema de [Aporte] Decode BBCode parseado por nosotros en el foro de PHP en Foros del Web. Bueno, esto es un aporte, solamente tiene un error, y es en la última línea, si alguién quiere ayudarme con ésto así ya queda para ...
  #1 (permalink)  
Antiguo 10/02/2011, 17:41
 
Fecha de Ingreso: septiembre-2009
Mensajes: 230
Antigüedad: 15 años, 1 mes
Puntos: 2
[Aporte] Decode BBCode parseado por nosotros

Bueno, esto es un aporte, solamente tiene un error, y es en la última línea, si alguién quiere ayudarme con ésto así ya queda para todos adelante!

Código PHP:
function unBBcode($texto){
   
$texto html_entity_decode($texto);
   
$a = array(
      
"/\<i\>(.*?)\<\/i\>/is",
      
"/\<b\>(.*?)\<\/b\>/is",
      
"/\<u\>(.*?)\<\/u\>/is",
      
"/\<center\>(.*?)\<\/center\>/is",
      
"/\<left\>(.*?)\<\/left\>/is",
      
"/\<right\>(.*?)\<\/right\>/is",
      
"/\<img\>(.*?)\<\/img\>/is",
      
"/\<url=(.*?)\>(.*?)\<\/url\>/is",
      
"/\<url>(.*?)\<\/url\>/is",
      
"/\<quote=(.*?)\>(.*?)\<\/quote\>/is",
      
"/\<quote>(.*?)\<\/quote\>/is",
      
"/\<br \>/is"
   
);
   
$b = array(
      
"[i]$1[/i]",
      
"[b]$1[/b]",
      
"[u]$1[/u]",
      
"[center]$1[/center]",
      
"[left]$1[/left]",
      
"[right]$1[/right]",
      
"[img src=\"$1\" /]",
      
"[a href=\"$1\"]$2[/a]",
      
"[a href=\"$1\"]$1[/a]",
      
"[div class=\"quote\"]Cita:[br/] [div class=\"bgquote\"]Empezado por: [b]$1[/b][br/] [font style=\"font-size:10px;\"][i]$2[/i][/font][/div][/div]",
      
"[div class=\"quote\"]Cita:[br/] [div class=\"bgquote\"]Empezado por alguién:[br/] [font style=\"font-size:10px;\"][i]$1[/i][/font][/div][/div]",
      
""
   
);
   
$texto preg_replace($a$b$texto);
   return 
$texto;

Está mal puesto lo de eliminar el <br /> de nuestro $texto. Si alguién tiene idea como solucionarlo posteelo lo edito y ya queda acá! Saludos.
  #2 (permalink)  
Antiguo 10/02/2011, 17:44
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 11 meses
Puntos: 51
Respuesta: [Aporte] Decode BBCode parseado por nosotros

Cita:
Iniciado por kirst Ver Mensaje
Bueno, esto es un aporte, solamente tiene un error, y es en la última línea, si alguién quiere ayudarme con ésto así ya queda para todos adelante!

Código PHP:
function unBBcode($texto){
   
$texto html_entity_decode($texto);
   
$a = array(
      
"/\<i\>(.*?)\<\/i\>/is",
      
"/\<b\>(.*?)\<\/b\>/is",
      
"/\<u\>(.*?)\<\/u\>/is",
      
"/\<center\>(.*?)\<\/center\>/is",
      
"/\<left\>(.*?)\<\/left\>/is",
      
"/\<right\>(.*?)\<\/right\>/is",
      
"/\<img\>(.*?)\<\/img\>/is",
      
"/\<url=(.*?)\>(.*?)\<\/url\>/is",
      
"/\<url>(.*?)\<\/url\>/is",
      
"/\<quote=(.*?)\>(.*?)\<\/quote\>/is",
      
"/\<quote>(.*?)\<\/quote\>/is",
      
"/\<br \>/is"
   
);
   
$b = array(
      
"[i]$1[/i]",
      
"[b]$1[/b]",
      
"[u]$1[/u]",
      
"[center]$1[/center]",
      
"[left]$1[/left]",
      
"[right]$1[/right]",
      
"[img src=\"$1\" /]",
      
"[a href=\"$1\"]$2[/a]",
      
"[a href=\"$1\"]$1[/a]",
      
"[div class=\"quote\"]Cita:[br/] [div class=\"bgquote\"]Empezado por: [b]$1[/b][br/] [font style=\"font-size:10px;\"][i]$2[/i][/font][/div][/div]",
      
"[div class=\"quote\"]Cita:[br/] [div class=\"bgquote\"]Empezado por alguién:[br/] [font style=\"font-size:10px;\"][i]$1[/i][/font][/div][/div]",
      
""
   
);
   
$texto preg_replace($a$b$texto);
   return 
$texto;

Está mal puesto lo de eliminar el <br /> de nuestro $texto. Si alguién tiene idea como solucionarlo posteelo lo edito y ya queda acá! Saludos.
Código PHP:
function unBBcode($texto){
   
$texto html_entity_decode($texto);
   
$a = array(
      
"/\<i\>(.*?)\<\/i\>/is",
      
"/\<b\>(.*?)\<\/b\>/is",
      
"/\<u\>(.*?)\<\/u\>/is",
      
"/\<center\>(.*?)\<\/center\>/is",
      
"/\<left\>(.*?)\<\/left\>/is",
      
"/\<right\>(.*?)\<\/right\>/is",
      
"/\<img\>(.*?)\<\/img\>/is",
      
"/\<url=(.*?)\>(.*?)\<\/url\>/is",
      
"/\<url>(.*?)\<\/url\>/is",
      
"/\<quote=(.*?)\>(.*?)\<\/quote\>/is",
      
"/\<quote>(.*?)\<\/quote\>/is"
   
);
   
$b = array(
      
"[i]$1[/i]",
      
"[b]$1[/b]",
      
"[u]$1[/u]",
      
"[center]$1[/center]",
      
"[left]$1[/left]",
      
"[right]$1[/right]",
      
"[img src=\"$1\" /]",
      
"[a href=\"$1\"]$2[/a]",
      
"[a href=\"$1\"]$1[/a]",
      
"[div class=\"quote\"]Cita:[br/] [div class=\"bgquote\"]Empezado por: [b]$1[/b][br/] [font style=\"font-size:10px;\"][i]$2[/i][/font][/div][/div]",
      
"[div class=\"quote\"]Cita:[br/] [div class=\"bgquote\"]Empezado por alguién:[br/] [font style=\"font-size:10px;\"][i]$1[/i][/font][/div][/div]"
   
);
   
$texto preg_replace($a$b$texto);
   return 
$texto;

De todas forma, no está "mal puesto", solo que a ti no te sirve. Puede ser que a otros si XD
  #3 (permalink)  
Antiguo 10/02/2011, 17:45
 
Fecha de Ingreso: septiembre-2009
Mensajes: 230
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: [Aporte] Decode BBCode parseado por nosotros

Si no se elimina cuando devuelve la cadena $texto se va a ver el "<br />" en caso de que le hagan un nl2br al $texto... A todos le serviría.
  #4 (permalink)  
Antiguo 10/02/2011, 17:49
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] Decode BBCode parseado por nosotros

es curioso, la expresión mas limpia podría ser esta:
Cita:
/<br\s*\/>/is
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 10/02/2011, 17:52
 
Fecha de Ingreso: septiembre-2009
Mensajes: 230
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: [Aporte] Decode BBCode parseado por nosotros

Barbaro, es así, ahí lo edito

Etiquetas: bbcode, aportes
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 12:12.