3

我正在尝试做的事情

我正在尝试使用jBBCode将 bbcode 解析到 html 和从 html 解析。

问题

当试图获取 html 并将其转回 bbcode 时,它​​只显示 html。这是我用来尝试将 html 切换回 bbcode 的代码。

$parser = new JBBCode\Parser();
$parser->loadDefaultCodes();
         
$parser->parse($MYHTMLSTRING);
         
echo $parser->getAsBBCode();

有谁知道我在这里做错了什么?我敢肯定这是我没有弄清楚的非常简单的事情。任何帮助表示赞赏!:D

4

1 回答 1

2

$parser->parse()将 BBCode 作为输入,而不是 HTML。

在研究了文档之后,我的理解是这是一个单向解析器:

BBCode -> HTML

我相信设计是让您将 BBCode 存储在您的数据库中,然后当需要向访问者呈现 HTML 时,您会在那时解析 BBCode。

这样,您始终将原始的、可编辑的 BBCode 存储在数据库中。

这是一种非常常见的设计模式。例如,对于使用 Markdown 语言(而不是 BBCode)的应用程序,它们通常将原始 Markdown 存储在数据库中,并且仅在页面加载时将其呈现为 HTML。

总之:

  1. 在您的数据库中存储原始 BBCode/文本
  2. 当您将页面呈现给访问者时,您会在那时进行转换(转换为 HTML)。
    • $parser->parse($MyBBCode); 回声 $parser->getAsHTML();
  3. 如果用户编辑 BBCode,将其直接保存回 DB 作为 BB Code

文档参考

于 2013-02-13T02:40:45.330 回答