Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to convert HTML to BBCode

Tags:

html

php

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

like image 768
mevdiven Avatar asked Nov 29 '10 22:11

mevdiven


1 Answers

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.

like image 77
Kornel Avatar answered Sep 22 '22 02:09

Kornel