11

目前我正在解析 bbcode 服务器端,但我想像这个网站一样显示预览。

如果我使用 ajax 处理 bbcode 服务器端它有点滞后,所以我想在客户端做它,只显示预览。

你们知道任何用 javascript 编写的 bbcode 解析器吗?

4

3 回答 3

8

有点晚了,这个问题肯定已经回答了。但是,如果您仍然愿意接受建议,并且还没有花时间将指定的解析器从 C# 转换为 JavaScript,我已经编写了一个解析器(最初在 PHP 中),我将自己 [2] 转换为 JavaScript。它在 3-clause BSD 许可证下的bitbucket中可用。解析器似乎相当快,但我没有对其速度进行任何分析。

它在某些方面可能不像其他可能的项目那样灵活,但它确实允许定义您自己的代码(“bb-code”与否,具有相当多的属性),并且也都包含在一个文件中。这不是一个简单的查找和替换解析器,也不基于正则表达式。

如果您对此感兴趣,它可能会使您不必转换其他库。从技术上讲,我是一个相对“未知”的人,但这就是 JS/OSS 的伟大之处:您可以查看源代码以了解我所做的事情。

[2] 结果,还有一些剩余的“兼容性函数”,但我重写了一些可用的本地等效函数。

于 2010-01-15T04:03:31.917 回答
5

我个人没有使用过任何 Javascript BBcode 解析器,但前两个 Google 结果(bbcodejs这篇博文)似乎很弱。前者似乎只支持简单的查找和替换,而后者似乎内置了预设的 BBcode,所以如果你选择了那个解决方案,你可能不得不稍微修改一下。

您最好的选择可能是推出自己的解决方案(可能基于此处的两个链接之一进行工作),或者只使用 AJAX 并继续前进。这可能是确保预览准确的最佳方式,而且预览不必在每次按键时都是实时的,无论如何;在发送请求之前的延迟是可以接受的。

于 2009-12-03T22:18:18.923 回答
1

我遇到了同样的问题,所以我自己写了。支持 BBCode -> AST Array -> 任何类型的标记,现在支持 HTML 和 React。并具有插件和预设支持

https://github.com/JiLiZART/bbob

于 2019-06-18T07:55:11.690 回答