【问题标题】:Any good javascript BBCode parser? [closed]任何好的 JavaScript BBCode 解析器? [关闭]
【发布时间】:2023-01-26 02:36:15
【问题描述】:

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

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

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

【问题讨论】:

    标签: javascript parsing bbcode


    【解决方案1】:

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

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

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

    [2] 因此,还有一些剩余的“兼容性功能”,但我重写了一些具有本机等效功能的东西。

    【讨论】:

    • @ArtMcBain:在 bitbucket -1 上找不到项目
    • +1。哦,bitbucket.org/AMcBain/bb-code-parser 将是指向实际存储库的链接。
    • 我在这不是很活跃,我不知道这么久才更新会不会“错误”,然后我忘记了。我认为至少回购协议是从我的网站链接的。感谢@zrvan 发布链接,我用它更新了我的评论。
    • @ArtMcBain 看起来不错(你好!)
    【解决方案2】:

    我个人没有使用过任何 Javascript BBcode 解析器,但谷歌的前两个结果(bbcodejsthis blog post)似乎很弱。前者似乎只支持简单的查找和替换,而后者似乎内置了预设的 BBcode,因此如果您选择该解决方案,您可能需要对它进行一些修改。

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

    【讨论】:

    • 是的,我在发布之前看到了这两个链接,但我正在寻找更受欢迎的东西,就像我现在使用的库 (bbcode.codeplex.com)。所以,可能我会把它移植到 JS。似乎没有多少
    • 你真的在推荐里面有eval("/"+obj[k].tmatch[tm]+"/gi.test(tag[tm])"的东西吗?
    • @Matchu:我觉得这些人很傲慢“让我为你谷歌一下”在 Stack Overflow 上不需要 cmets(它们也会降低获得赞成票的机会)。 Stack Overflow 就像一个巨大的知识库,使用 Google (!) 很容易找到它,所以很高兴看到有用的答案而没有讨厌的 cmets。 :)
    • @Sk8erPeter:公平点。 2009 年不是我最好的一年 ;P
    • @Matchu:没问题,您仍然可以编辑您的答案:D
    【解决方案3】:

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

    https://github.com/JiLiZART/bbob

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-03
      • 1970-01-01
      • 2016-04-12
      • 1970-01-01
      • 2011-01-26
      • 1970-01-01
      • 2023-03-26
      相关资源
      最近更新 更多