问题标签 [bbcode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
697 浏览

java - 为什么我的 JavaCC 解析器不解析小于 2 个字符的标记?

我正在研究应该解析 BBcodes 的 JavaCC 解析器。

我的 Javacc 源代码:patebin.com(Junit 测试:这里

源代码有点工作,但它不想接受带有单个字符的标记,只能识别多字符串。

它确实解析了这个字符串:

"test[b]bold[/b]nothing[b]bold[/b]after"

但不是:

"t[b]bold[/b]nothing[b]bold[/b]after"

我有点迷路了,这里欢迎任何提示。

0 投票
2 回答
1503 浏览

java - 如何匹配 JavaCC 中的可选打开/关闭标签?

JavaCC 语法确实实现了可以解析这些行的语法:

尽管 JavaCC 解析器需要解析所有行,但它必须区分正确和不正确的标记行为。

正确的标签就像第一行一样,它们有一个打开和关闭标签。当标签匹配时,这将输出一个粗体格式的文本。

不正确的标签就像第 2 行和第 3 行一样,它们没有匹配的打开或关闭标签。当这些发生时,它们按原样写入输出,不会被解释为标签。

我已经尝试过下面的 JavaCC 代码(LOOKAHEAD = 999999)。问题是,这种语法总是将所有内容匹配为 invalidTag()而不是bold()。我如何确保 JavaCC 解析器尽可能匹配bold() ?

0 投票
3 回答
513 浏览

php - BB 代码问题 PHP

好吧,我正在为我拥有的论坛使用一个小 bbcode 功能,运行良好,所以如果,例如,我把

它将以粗体打印文本。

我的问题是,如果我有该代码:

好吧,它不起作用,只需按现在的方式打印即可。

这是我正在使用的函数的示例:

然后在回显它时:

所以我的问题是,什么是必要的,这样 BBcode 才能与其中的所有内容一起工作,但不一定在同一行。

例如:

简直就是

文本

感谢您的任何帮助!

亚历克斯

0 投票
1 回答
240 浏览

php - BBCODE_TYPE_ROOT 是什么意思?

使用 PHP 的BBCode扩展时,有人知道 BBCODE_TYPE_ROOT 的确切含义吗?似乎没有必要,至少在这个示例中,但是,它在文档中的大多数示例中都使用了。

文档对此元素非常模糊

BBCODE_TYPE_ROOT(整数)

先感谢您。

0 投票
1 回答
177 浏览

javascript - 需要一个不保存在 HTML 中的网络嵌入式编辑器

我们的客户能够在我们的“管理”网站上编辑一些文本,然后在另一个“客户”网站上显示给他们的客户。他们现在希望能够添加标记,如粗体、斜体、下划线(以及上述的组合)以及指向网页的链接。不幸的是,因为我们使用的 Web 框架通过 XSLT 解码器传递存储的文本(不要问),所以我们不能只将它们的更改保存为 HTML,否则会搞砸 XSLT 步骤。

我在想我需要的是像 Markdown 或 BBCode 编辑器这样的东西,它使用 Markdown 或 BBCode 标记将文本存储在数据库中,然后在客户端使用一些 javascript 将标记解释为 HTML。有这样的事吗?

0 投票
2 回答
2956 浏览

regex - 将 [b]xxx[/b] 替换为 'xxx' 粗体

如何转换[b]xxx[/b]<strong>xxx</strong>使用 VB.NET Regex.Replace()?

谢谢。

0 投票
1 回答
814 浏览

php - PHP/Regex:用于 bbcode [s] 或 [strike] 的简单正则表达式无法正常工作

对于一个愚蠢的 bbcode 解析器,我想将两个定义合二为一,我的原始定义是 preg_replace:

这行得通,我希望用户能够使用[s][strike]以该格式启动文本,所以我自然地添加了类似这样的东西,认为它会起作用:

不幸的是,这失败了,而不是你所期望的,[s]and [strike](正确使用) make: sand strike(我的降价是正确的,以显示它的真实外观结果,它显示 s 或罢工,不管里面有什么)

为什么它用标签名称代替内部文本?我在 s|strike 周围添加括号有问题吗?我可能做错了这一切..

0 投票
2 回答
343 浏览

javascript - JavaScript:查找嵌套 [quote]

我想在用户端使用 JavaScript 进行表单验证(也使用 jQuery)。目标是删除[quote]比第 2 级更深的嵌套 bbCode 标签。比如说,我们有以下文本:

得到这个:

我唯一的想法是用 .replace[quote]替换<div>,然后创建 DOM 对象并使用 jQuery 删除任何比 2 更深的内容,然后将所有内容向后解析为 bbCode。但是这个解决方案似乎太复杂了,还有更优雅的吗?

编辑:

感谢您提供不错的解决方案。根据darioo的回答,我这样做了:

哪个工作得很好。

但是idealmachine的解决方案就像是闪现。之前不知道replace回调函数参数,现在好用!我会解决的。

0 投票
2 回答
6106 浏览

php - 如何将 HTML 转换为 BBCode

我维护了一个以 HTML 格式保存富文本消息的公告板。现在我需要将所有这些消息迁移到需要 BBCode 表示 HTML 的 Joomla Kunena 公告板中。

是否有任何库可以将 HTML 干净地转换为 BBCode。有一堆脚本用于 BBCode 到 HTML,但反之则不然。

谢谢...

0 投票
3 回答
3723 浏览

java - 是否存在适用于 Android 的轻量级标记语言库?

假设我想渲染/呈现以 some 形式传输的文本lightweight markup language。是否有任何现成的库Android,它们以轻量级标记语言作为输入文本并很好地呈现它?当我说轻量级标记语言时,我指的是 Markdown ( http://en.wikipedia.org/wiki/Markdown ) 或类似的东西。