首页 > 解决方案 > 将 HTML 转换为 BBCode

问题描述

我想将 HTML 转换为 BBCode,我已经找到了这个:如何将 HTML 转换为 BBCode

但这是使用 XSLT,我从未使用过 XSLT

如果有任何方法可以使用 PHP 将 HTML 转换为 BBCode,请告诉我

这是我的解码功能:

public function decode()
{
    $doc = new DOMDocument();
    $doc->loadHTML("<html><body></body></html>");

    $xsml = $doc->load("bbcode.xsl");

    $proc = new XSLTProcessor();
    $proc->importStylesheet($xsml);

    return $proc->transformToXml($xsml);
}

这是xsl

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

谢谢

标签: phphtmlxsltbbcode

解决方案


推荐阅读