我维护了一个以 HTML 格式保存富文本消息的公告板。现在我需要将所有这些消息迁移到需要 BBCode 表示 HTML 的 Joomla Kunena 公告板中。
是否有任何库可以将 HTML 干净地转换为 BBCode。有一堆脚本用于 BBCode 到 HTML,但反之则不然。
谢谢...
在文本输出模式下使用 XSLT 应该是可行的:
<xsl:output method="text">
…
<xsl:template match="b|strong">[b]<xsl:apply-templates/>[/b]</xsl:template>
<xsl:template match="br"> </xsl:template>
<xsl:template match="p"> <xsl:apply-templates/> </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>
到那里解析 HTML并使用内置的 XSLT 处理器。
我建议您使用正则表达式转换<b>
为[b]
标签。这应该不难,因为您需要做的就是获取 HTML 并将其输入到 php 脚本中,该脚本可以将其保存在某种文件中,您可以将其保存在新论坛中。
希望对您有所帮助, RayQuang