php - 如何将 HTML 转换为 BBCode

标签 php html bbcode

我维护一个以 HTML 格式保存富文本消息的公告板。现在我需要将所有这些消息迁移到需要 HTML 的 BBCode 表示的 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">&#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>

到达那里 parse HTML并使用 built-in XSLT processor .

关于php - 如何将 HTML 转换为 BBCode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4308734/

相关文章:

javascript - 标签中包含 BBCode 的 BBCode 剧透

javascript - 在 SCEditor 中将列表项标记设置为 [*]x 而不是 [li]x[/li],以实现 vBulletin 兼容性

javascript - 如何在网站链接前添加文本,fx store.mywebsite.com

php - mysql php 中的 SQL 存储过程

php - 如何使 div 位于另一个下方

html - 如何改变 <ul> 元素的高度?

php - 使用一个过滤器清理 [code] 标签外部的内容,并使用另一个过滤器清理 [code] 标签内部的内容

php - 仅对特定文件而不是特定扩展名的所有文件启用 PHP

php - 匹配前缀和多个可选后缀,无分隔符

javascript - 文件下载的 Http 请求停止 JQuery ajax 调用