php - 将 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"> </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>
谢谢
解决方案
推荐阅读
- python - 用django连接mysql数据库
- php - 如何在 Codeigniter 配置文件中使用环境变量?
- python-3.x - 熊猫对整行重新采样应用功能?
- postgresql - PostgreSQL如何检查表是否存在?
- git - 修改 git 分支以从上游提交分支
- rest - 无法读取 HTTP 消息:ion:JSON 解析错误:VALUE_STRING 中的意外输入结束:在套接字上读取意外 EOF
- reactjs - 反应式搜索过滤器可用过滤器
- java - 在Spring Boot中将无效的json请求正文传递给rest api时没有出现异常
- javascript - 如何将数字四舍五入到整分钟?
- java - 对 ECC 公钥的长度感到困惑