Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有好的javascript代码解析器吗?_Javascript_Parsing_Bbcode - Fatal编程技术网

有好的javascript代码解析器吗?

有好的javascript代码解析器吗?,javascript,parsing,bbcode,Javascript,Parsing,Bbcode,目前,我正在解析bbcode服务器端,但我想显示一个预览,就像这个网站一样 如果我使用ajax处理bbcode服务器端,它会有点滞后,所以我想在客户端进行处理,只是显示预览 你们知道用javascript编写的bbcode解析器吗?我个人没有使用过任何javascript bbcode解析器,但谷歌搜索结果(和)中排名前两位的功能似乎很弱。前者似乎只支持简单的查找和替换,而后者似乎内置了预设的BBcode,因此如果选择该解决方案,您可能需要对其进行一些修改 您最好的选择可能是推出您自己的解决方案

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

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


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

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


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

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

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

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


[2] 因此,还有一些“兼容性函数”,但我重写了一些本机等价物可用的东西。

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


是的,我在发布之前看到了这两个链接,但我想找一些更流行的东西,就像我现在使用的库()。所以,我可能会把它移植到JS。似乎没有多少是你真正推荐的东西,里面有
eval(“/”+obj[k].tmatch[tm]+“/gi.test(tag[tm])”
?@Matchu:我认为这些傲慢的“让我为你谷歌一下”的评论对于堆栈溢出是不必要的(而且它们也减少了获得投票的机会).Stack Overflow就像一个巨大的知识库,使用Google(!)很容易找到,所以看到有用的答案而没有令人讨厌的评论真的很好。:@Sk8erPeter:Fair point。2009年不是我最好的一年;P@Matchu:没问题,您仍然可以编辑您的答案:D@ArtMcBain:在bitbucket-1+1上未找到项目。哦,这将是到实际存储库的链接。我在这里不是很活跃,我不知道这么长时间后更新是否“错误”,然后我忘了。我想至少回购协议是从我的网站链接而来的。感谢@zrvan发布链接,我用它更新了我的评论。@ArtMcBain看起来不错(你好!)