Página 1 de 1

Convertir Las Etiquetas HTML En BBCODE

Publicado: 27 Feb 2008, 22:31
por thunderb
Que tal,

He actualizado mi foro phpBB2 a la version phpBB3 pero tengo un problema con las etiquetas <b>,</br>,<center>,<img>, etc...
En el antiguo foro las tenía habilitadas para darle formato a los posts pero en phpBB3 me aparecen las etiquetas si que estas apliquen el formato.

Donde se pueden activar las etiquetas?

Un saludo y gracias.

Re: Convertir Las Etiquetas HTML En BBCODE

Publicado: 04 Mar 2008, 15:48
por thunderb
Nadie sabe al menos de algun script que transforme HTML en BBCODE.
Aunque sea que se le pueda pasar la base de datos y que haga la conversión.

Un saludo

Re: Convertir Las Etiquetas HTML En BBCODE

Publicado: 05 Mar 2008, 01:13
por BEN-HUR
Por decir algo...

Supongo que lo habrás hecho, perro aun así lo digo, prueba a subir todos los archivos de nuevo, es raro lo que te pasa. :roll:

Re: Convertir Las Etiquetas HTML En BBCODE

Publicado: 05 Mar 2008, 12:16
por antuan
No es problema de que te falte subir algún archivo o algo similar.

Las etiquetas que mencionas son tags html, y esta nueva versión de phpBB 3.x no soporta html, así que no busques más desde el panel de administrador la opción de habilitar los tags html porque no existe...

El equipo de phpBB.com decidió tras muchas deliveraciones que lo mejor era no seguir permitiendo html en los mensajes u otros lugares de la nueva versión de phpBB por cuestiones de seguridad (y yo estoy a favor de esto). Un foro que permite html en sus mensajes es menos seguro, esto no quiere decir que ahora que phpBB3.x no soporta html sea 100% seguro ¿y que lo es?, todo programa tiene alguna vulnerabilidad.

En lugar de html, phpbb 3.x permite solamente bbcode que es un sustitutivo controlado de html.

Yo también afronte tu mismo problema en un foro con varios tags html habilitados y pregunte a los desarrolladores de phpBB, su respuesta fue que es difícil crear un script para transformar todo el html a bbcode pues desnudaría el código, tal vez algún día conforme salgan nuevas versiones de phpBB2.x haya un conversor para transformar los tags html de phpBB2.x a bbcode para phpbb3.x de forma automática

Re: Convertir Las Etiquetas HTML En BBCODE

Publicado: 06 Mar 2008, 15:11
por thunderb
No es problema de que te falte subir algún archivo o algo similar.

Las etiquetas que mencionas son tags html, y esta nueva versión de phpBB 3.x no soporta html, así que no busques más desde el panel de administrador la opción de habilitar los tags html porque no existe...

El equipo de phpBB.com decidió tras muchas deliveraciones que lo mejor era no seguir permitiendo html en los mensajes u otros lugares de la nueva versión de phpBB por cuestiones de seguridad (y yo estoy a favor de esto). Un foro que permite html en sus mensajes es menos seguro, esto no quiere decir que ahora que phpBB3.x no soporta html sea 100% seguro ¿y que lo es?, todo programa tiene alguna vulnerabilidad.

En lugar de html, phpbb 3.x permite solamente bbcode que es un sustitutivo controlado de html.

Yo también afronte tu mismo problema en un foro con varios tags html habilitados y pregunte a los desarrolladores de phpBB, su respuesta fue que es difícil crear un script para transformar todo el html a bbcode pues desnudaría el código, tal vez algún día conforme salgan nuevas versiones de phpBB2.x haya un conversor para transformar los tags html de phpBB2.x a bbcode para phpbb3.x de forma automática Gracias por la explicación.

Entiendo que el tema del HTML deshabilitado es por seguridad (de echo, estoy de acuerdo con ello).
El problema es que en mi antiguo foro el HTML estaba habilitado y hay montones de etiquetas posteadas.

Quería saber si se podrían convertir o hacer algo con ellas.
Pero bueno, parece que no hay solucion.

Un saludo,

Re: Convertir Las Etiquetas HTML En BBCODE

Publicado: 06 Mar 2008, 19:41
por ThE KuKa
Mirate este tema:
http://startrekguide.com/community/view ... f=82&t=249

S@lu2

Re: Convertir Las Etiquetas HTML En BBCODE

Publicado: 11 Mar 2008, 13:36
por antuan
Lo que no sé es si podrás hacer lo que yo una vez que ya has actualizado el foro a phpBB3. El método que en su día segui puede ser muy complejo y laborioso dependiendo del número de tags html habilitados y número de mensajes. Haz copia de seguridad de todo y lleva mucho cuidado, tendras que equivocarte y rectificar bastante.

Voy a explicarme solo para los tags html center y img.

Tienes que instalar el foro phpBB3 a continuación instalar en el mismo el bbcode deseado y luego hacer las modificaciones en la base de datos del foro phpBB2. Lo más complicado es que tienes que localizar todos los tags html teniendo en cuenta que estos pueden tener variables... y después realizar la conversión de phpBB2 a phpBB3

1) Copia de seguridad de todo: archivos y bases de datos (full backup).

2) Instala el foro phpBB3.x como nueva instalación y entonces crea los bbcode necesarios para sustituir los tags html (antes de cualquier conversión)

Base de conocimientos de phpBB
Tema BBCode phpBB
Tema BBCode en startrekguide

3) Descarga una copia de la base de datos del foro phpBB 2.x y localiza todos los tags html con sus variantes, piensa en la parte posterior y anterior de cada tag y anotala por ejemplo en un archivo de texto.

parte anterior de ejemplo:

Código: Seleccionar todo

<center>
<img border="1" align="center" src="
<IMG height="206" hspace="5" src="
<img border="0" src="
<img hspace="15" title="Imagen ejemplo" src="
parte posterior de ejemplo:

Código: Seleccionar todo

</center>
</img>
</IMG>
.jpg" border="1">
.jpg" target="_blank" class="postlink">
Estas partes habra que sustituirlas en la base de datos de phpBB2.x por las etiquetas bbcode correspondientes al instalado en phpBB3.x. Para esto desde phpmyadmin puedes usar consultas SQL.

UPDATE nombre_tabla SET nombre_columna = replace (nombre_columna,'Buscar_dato','Reemplazar_por');

Para la base de datos de phpBB2.x la tabla de los mensajes (posts) es phpbb_posts_text y la columna es post_text


[quote]Para sustituir el tag <center> por la etiqueta bbcode [center]:[/quoteicy]

Código: Seleccionar todo

update phpbb_posts_text set post_text = replace(post_text,'<center>','[center]');
[quote]Para sustituir los tags html de imagen con sus variables por la etiqueta bbcode [img]:[/quoteicy]

Código: Seleccionar todo

update phpbb_posts_text set post_text = replace(post_text,'<img border="1" align="center" src="','[img]');
update phpbb_posts_text set post_text = replace(post_text,'<IMG height="206" hspace="5" src="','[img]');
update phpbb_posts_text set post_text = replace(post_text,'<img border="0" src="','[img]');
update phpbb_posts_text set post_text = replace(post_text,'<img hspace="15" title="Imagen ejemplo" src="','[img]');
ahora la otra parte.

[quote]Para sustituir el tag </center> por la etiqueta bbcode [/center]:[/quoteicy]

Código: Seleccionar todo

update phpbb_posts_text set post_text = replace(post_text,'</center>','[/center]');
[quote]Para sustituir los tags html de imagen con sus variables por la etiqueta bbcode [/img]:[/quoteicy]

Código: Seleccionar todo

update phpbb_posts_text set post_text = replace(post_text,'</img>','[/img]');
update phpbb_posts_text set post_text = replace(post_text,'</IMG>','[/img]');
update phpbb_posts_text set post_text = replace(post_text,'.jpg" border="1">','[/img]');
update phpbb_posts_text set post_text = replace(post_text,'.jpg" target="_blank" class="postlink">','[/img]');
4) Piensa si es conveniente hacer lo mismo para los mensajes privados y las firmas de los usuarios.

5) Una vez hayas reemplazado todos los tags html por las etiquetas bbcode en la base de datos de phpBB2 veras que no funcionan, lógico puesto que queremos que funcione en phpBB3. Una vez completado, usa el conversor para pasar el foro phpBB2.x a phpBB3.x

6) Cuando hayas pasado de phpBB2.x y phpBB3.x verás que todas las etiquetas bbcode que antes eran html funcionan.

Repito: llevar cuidado, no me hago responsable. Saludos.

Re: Convertir Las Etiquetas HTML En BBCODE

Publicado: 12 Mar 2008, 16:35
por thunderb
Joder menuda explicación, muchas gracias.
Pero me queda una duda:

No sería posible realizar las consultas SQL directamente sobre la base de datos de phpBB3 y susbstituir directamente los tags HTML por los BBCODE ??
Cuales serían las tablas a tratar en phpBB3??

un saludo

Re: Convertir Las Etiquetas HTML En BBCODE

Publicado: 12 Mar 2008, 17:22
por antuan
Joder menuda explicación, muchas gracias.
Pero me queda una duda:

No sería posible realizar las consultas SQL directamente sobre la base de datos de phpBB3 y susbstituir directamente los tags HTML por los BBCODE ?? Ya hice la prueba de eso que dices y no funciono, ya que los bbcode (tanto de phpBB 2 y 3) necesitan de un código cifrado solo visible en la base de datos (por ejemplo [center:5720e8b1ef]) y que es asignado por phpBB cuando conviertes desde phpBB2 a phpBB3.


:idea: Si lo haces directamente en la base de datos de phpBB3 no sé (porque no lo he probado) si luego una vez actualices desde phpBB 3.0.0 a la siguiente versión (cuando salga a la luz) con el conversor de actualización hara lo mismo y por tanto phpBB asignara código a cada bbcode que antes era html.
Cuales serían las tablas a tratar en phpBB3??

un saludo Para la base de datos de phpBB3.x la tabla de los mensajes (posts) es phpbb_posts y la columna es post_text

[quote]ejemplo para sustituir el tag html <center> por la etiqueta bbcode [center][/quoteicy]

Código: Seleccionar todo

update phpbb_posts set post_text = replace(post_text,'<center>','[center]');

Re: Convertir Las Etiquetas HTML En BBCODE

Publicado: 12 Mar 2008, 20:45
por Manolo
No lei todo el tema sorry, pero por el enunciado igual te interesa una web que conoci gracias a Xoom Enlace

Saludos!

Re: Convertir Las Etiquetas HTML En BBCODE

Publicado: 11 Mar 2012, 10:15
por Javier Reinoso2
antuan escribió:No es problema de que te falte subir algún archivo o algo similar.

Las etiquetas que mencionas son tags html, y esta nueva versión de phpBB 3.x no soporta html, así que no busques más desde el panel de administrador la opción de habilitar los tags html porque no existe...

El equipo de phpBB.com decidió tras muchas deliveraciones que lo mejor era no seguir permitiendo html en los mensajes u otros lugares de la nueva versión de phpBB por cuestiones de seguridad (y yo estoy a favor de esto). Un foro que permite html en sus mensajes es menos seguro, esto no quiere decir que ahora que phpBB3.x no soporta html sea 100% seguro ¿y que lo es?, todo programa tiene alguna vulnerabilidad.

En lugar de html, phpbb 3.x permite solamente bbcode que es un sustitutivo controlado de html.

Yo también afronte tu mismo problema en un foro con varios tags html habilitados y pregunte a los desarrolladores de phpBB, su respuesta fue que es difícil crear un script para transformar todo el html a bbcode pues desnudaría el código, tal vez algún día conforme salgan nuevas versiones de phpBB2.x haya un conversor para transformar los tags html de phpBB2.x a bbcode para phpbb3.x de forma automática
No se bien porque hacen o dicen esto, deberian de convertir automaticamente esos HTML TAGS, pues añadieno este simple codigo a viewtopic.php se soluciona:

Buscar en viewtopic.php:
$delete_allowed = ($user->data['is_registered'] && ($auth->acl_get('m_delete', $forum_id) || (
$user->data['user_id'] == $poster_id &&
$auth->acl_get('f_delete', $forum_id) &&
$topic_data['topic_last_post_id'] == $row['post_id'] &&
($row['post_time'] > time() - ($config['delete_time'] * 60) || !$config['delete_time']) &&
// we do not want to allow removal of the last post if a moderator locked it!
!$row['post_edit_locked']
)));
Y añadiendo estas lineas - mas abajo en quote - despues de ese codigo en el archivo viewtopic.php, se corrige el <center> </center> y <br>, y se peude hacer para todos lso tags que se desee...
$message = str_replace('<center>', '<center>', $message);
$message = str_replace('</center>', '</center>', $message);
$message = str_replace('<br>', '<br>', $message);
O sea, quedaria asi:
$delete_allowed = ($user->data['is_registered'] && ($auth->acl_get('m_delete', $forum_id) || (
$user->data['user_id'] == $poster_id &&
$auth->acl_get('f_delete', $forum_id) &&
$topic_data['topic_last_post_id'] == $row['post_id'] &&
($row['post_time'] > time() - ($config['delete_time'] * 60) || !$config['delete_time']) &&
// we do not want to allow removal of the last post if a moderator locked it!
!$row['post_edit_locked']
)));

$message = str_replace('<center>', '<center>', $message);
$message = str_replace('</center>', '</center>', $message);
$message = str_replace('<br>', '<br>', $message);
Parece ser que phpbb2 ponia el caracter "<" como "<", y el caracter ">" como ">", en realidad se podria corregir esos html tags con añadir este codigo aqui abajo en vez del que anteriormente he puesto (2 opcion):

$message = str_replace('<', '<', $message);
$message = str_replace('>', '>', $message);

No lo he probado, pero en realidad se trataria de convertir esos "<" y ">" que reemplazan a "<" y ">":

No he probado tampoco, pero quizas un simple replace en phpmyadmin que reemplazara esos "<" y ">" que reemplazan a "<" y ">" solucionara, aunque ahora que lo pienso no, pues ya probe poner en la base de datos directamente <center>, y no va, debe de hacerse en el codigo php de viewtopic.php creo, con esas 2 lineas de codigo...

Yo tenia un phpbb2 con solo esos 2 html tags, <center></center> y <br>, y como ya me funciona bien, entonces no he probado la 2 opcion, pero creo que debe de ser la mas correcta esa 2 opcion...

En fin, que no comprendo bien la razon del equipo de phpbb para no saber esto, me huele a querer fastidiar mas bien, pues la cuestion es sencillisima en el fondo... Y aunque es una tonteria, esta tonteria multiplicada por miles de administradores de foros implica una perdida de muchas horas o quizas dias por cada uno, y eso es fastidiar de verdad...

Saludos!!! Espero que esto le ayude a alguien a no perder mas tiempo con una tonteria que no se sabe porque razon, aun ahora en 2012, 4 años despues, no han solucionado aun los de phpbb3... Pues estos codigos los hice hace unos dias, para ese foro que tenia aun de phpbb y que acabo actualizar...

Javier Reinoso

Re: Convertir Las Etiquetas HTML En BBCODE

Publicado: 11 Mar 2012, 10:55
por Makoto
Nadie dijo que no se sabe solo que es inseguro usar codigos html en los mensajes

Re: Convertir Las Etiquetas HTML En BBCODE

Publicado: 11 Mar 2012, 16:26
por Alorse
thunderb escribió:Miércoles, 27 Febrero 2008, 17:31
Es un tema bastante viejo y no se deben revivir temas tan antiguos... Makoto debiste advertírselo y no responder, además que el usuario ni siquiera pone sus datos de soporte.
Cierro el tema.