2010-11-29 10 views
6

Mantengo un boletín que guarda mensajes de texto enriquecidos en HTML. Ahora tengo que migrar todos esos mensajes al tablero de anuncios de Joomla Kunena que requiere una representación BBCode de HTML.Cómo convertir HTML a BBCode

¿Hay alguna biblioteca para convertir HTML a BBCode limpiamente? Hay muchas secuencias de comandos para BBCode a HTML, pero no al revés.

Gracias ...

Respuesta

7

Debe ser factible con XSLT en modo de salida de texto :

<xsl:output method="text"> 
… 
<xsl:template match="b|strong">[b]<xsl:apply-templates/>[/b]</xsl:template> 
<xsl:template match="br">&#10;</xsl:template> 
<xsl:template match="p">&#10;<xsl:apply-templates/>&#10;</xsl:template> 
<xsl:template match="a">[url="<xls:value-of select="@href"/>"]<xsl:apply-templates/>[/url]</xsl:template> 
<xsl:template match="text()"><x:value-of select="normalize-space(.)"/></xsl:template> 

LLEGAR parse HTML y utilizan built-in XSLT processor.

0

Recomendaría que use expresiones regulares para convertir <b> en [b] etiquetas. Esto no debería ser tan difícil, ya que todo lo que necesitaría es obtener el código HTML y alimentarlo con un script php que podría guardarlo en algún tipo de archivo que pueda guardar en su nuevo foro.

Espero que ayude, RayQuang

+1

Sí, eso es lo que estaba pensando como último recurso. Escribir mi script de conversión de expresiones regulares. Estaba preguntando si hay alguna biblioteca que ya lo hagamos limpiamente. – mevdiven