mevdiven
mevdiven

Reputation: 1902

How to convert HTML to BBCode

I maintain a bulletin board that saves rich text messages in HTML. Now I need to migrate all those messages into Joomla Kunena bulletin board that requires BBCode representation of HTML.

Is there any library to convert HTML to BBCode cleanly. There are bunch of scripts out there for BBCode to HTML but not the other way around.

Thanks...

Upvotes: 7

Views: 6648

Answers (2)

Rayhaan Jaufeerally
Rayhaan Jaufeerally

Reputation: 359

I would recommend that you use regular expressions to convert <b> to [b] tags. This shouldn't be that hard, as all you would need to to is get the HTML and feed it in to a php script that could save it in some kind of file that you can save in your new forum.

Hope that helps, RayQuang

Upvotes: 0

Kornel
Kornel

Reputation: 100120

It should be doable with XSLT in text output mode:

<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>

To get there parse HTML and use built-in XSLT processor.

Upvotes: 8

Related Questions