问题标签 [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 回答
1197 浏览

php - BBCode、preg_replace 和命名捕获组

我以为两行代码和一个函数的简单实现,结果却失败了。

在我的网页上,我希望能够输入[text]1[/text],它会做的是提取该 ID 的标题。

所以,这是一个可爱的小问题:正如人们所知,我正在调用一个带有数字标题变量的函数,这在引号中效果很好,但正如我们所知,PHP 不喜欢这样。所以,我选择了一个命名组。使用$regs['id']失败。

难道我做错了什么?

我会以错误的方式解决这个问题吗?

0 投票
1 回答
337 浏览

javascript - Javascript PHPBB-like URL标签处理

我正在开发一个 PHP 动态网页,该网页有一个<textarea>元素,允许用户编写文本并让它在元素中“实时”显示<div>,只是 JavaScript 处理文本和标签。

我使用 JavaScript 正则表达式将括号之间的“b”、“u”和标签(如 phpBB 样式)更改为它们的 HTML 等价物,如“strong”、“u”等。

当我需要处理url标签时会出现问题,我需要从输入中提取 URL,如下所示:

我怎样才能将其替换为:

0 投票
5 回答
273 浏览

php - 在字符串中查找不在 BBCodes 中的点

我有一个包含文章文本的字符串。这撒有 BBCodes(在方括号之间)。我需要能够抓住文章的第一个 200 个字符,而不会在 bbcode 中间将其截断。所以我需要一个可以安全切断它的索引。这会给我文章摘要。

  • 摘要必须至少为 200 个字符,但可以更长,以便从 bbcode 中“逃脱”。(这个长度值实际上是一个函数的参数)。
  • 它不能像这样在独立的 bbcode(见管道)中给我一个点:[lis|t]。
  • 它不能像这样在开始和结束 bbcode 之间给我一个点:[url="http://www.google.com"]Go To Goo|gle[/url]。
  • 在上面的示例中,它不能在开始或结束 bbcode 内或它们之间给我一个点。

它应该给我 200 之后的“安全”指数,并且不会切断任何 BBCode。

希望这是有道理的。我已经为此苦苦挣扎了一段时间。我的正则表达式技能只是中等。谢谢你的帮助!

0 投票
1 回答
1586 浏览

php - 如何为 PECL bbcode 扩展创建 [youtube]-Tag?

我使用PECL bbcode 扩展来解析 BBCode-Tags。

谁能告诉我一种替换BBCode 标签之间的文本而不是用 HTML 标签包围它的方法?我想建立一个[youtube]标签:

我对此标签的配置如下所示:

问题:标签(Youtube ID)之间的文本[youtube]需要两次(用于对象和嵌入标签),所以我不能close_tag按预期使用。

结果:包含 Youtube 播放器的标记已正确创建,但之后会打印 Youtube-ID:

有人知道如何解决这个问题吗?

提前致谢!

0 投票
2 回答
1486 浏览

php - 如何对外部文本进行编码
带有 htmlentities() 的标签?(PHP)

我正在尝试为我的网站制作自己的 BBCode 解析器,并且我正在寻找一种方法来“htmlentities()”,除了 PRE 标签内的代码和 PRE 标签本身。

例如:

我真的不知道该怎么做。

任何形式的帮助将不胜感激:)

谢谢。

0 投票
3 回答
1052 浏览

php - 删除第一个换行符 preg_replace

我正在编写一些 PHP 来将 BBcode 转换为 HTML。

我想转换这个BBcode:

到以下:

我用来执行此操作的 preg_replace 函数是:

这几乎可以完成我需要做的所有事情,但我的问题是它在“Hello World”之前和之后通过 \n,并产生:

有什么想法可以解决这个问题吗?非常感谢所有帮助。

0 投票
3 回答
4486 浏览

ruby-on-rails - 用于 Ruby on Rails 的 BBCode

所以我正在整理一个简单的论坛。我想允许我的用户有限的格式选项和 BBCode 对我的用户来说已经足够了。知道我肯定不是第一个想要将 BBCode 与 RoR 一起使用的人,我在 Google 上搜索,但找不到关于如何创建接受 BBCode 的编辑器的直接教程,也找不到解析和显示 BBCode 格式输入的方法。

任何帮助或指南将不胜感激!

0 投票
1 回答
576 浏览

php - 扩展 HTML_BBCodeParser_Filter

我正在尝试向 PEAR 包 BBCodeParser http://pear.php.net/package/HTML_BBCodeParser/docs/latest/li_HTML_BBCodeParser.html添加额外的标签,为此,我相信我需要将 Object.php 放在 \ php5.3.0\PEAR\pear\HTML\BBCodeParser\Filter 并调用 addFilter。

对象.php

extbbcode.php

当我查看 extbbcode.php 时,我会收到此错误

严格标准:非静态方法 PEAR::getStaticProperty() 不应被静态调用,假设 $this 来自 D:\wamp\bin\php\php5.3.0\PEAR\pear\HTML\BBCodeParser.php 中的不兼容上下文在线169

如果我注释掉 $parser->addFilter('object'); 行然后它按预期工作,即产生有效输出。我还可以指定一个现有的过滤器,即

基本.php ,图片.php

如果我使用无效过滤器调用 addFilter(即文件不存在),我会收到“加载过滤器 $filter 失败”消息。

有人能发现我做错了什么吗?在我看来,Object.php 包含在内,但会产生那些奇怪的 STRICT 消息。所以我的问题肯定出在那个文件上。

如果有人对这门课或那个错误信息有经验并且可以指出我正确的方向,我会很高兴:)

BBCodeParser.php

编辑:设法让 PEAR 在我当地的 WAMP 上工作,所以我可以通过排除我遇到的另一个问题来简化问题。

0 投票
2 回答
3058 浏览

delphi - Delphi,VirtualStringTree - 处理简单的文本样式(如 bbcode)

处理简单文本样式(如 bbcode 允许在文本中使用粗斜体等)的最佳方法是什么?我所做的是将文本分成几部分,每个部分都指定了样式,然后我从Rect.Left + Canvas.TextWidth(Texts[i-1]). 然而,这可能很慢,而且我不知道如何在 VirtualStringTree 的情况下将其发送出去。它有 OnBeforeItemPaint 但回调不知道列索引。然而,OnBeforeCellPaint 并没有公开变量来表示我自己绘制的 VST,因此它绘制在我的文本上......

请问有人吗?:)

问候, 迈克尔

0 投票
3 回答
356 浏览

regex - BBCode 到 XHTML:两种可能性,一种正则表达式?

我正在写一个小博客模块。我希望用户能够输入 BBCode。我需要将其转换为 XHTML 以存储在数据库中,我设法为大多数标签执行了此操作,但[url].

我想允许两种情况:

应该转换为

应该转换为

可悲的是,我一直无法做到这一点。结果太可怕了,我想知道这是否可以在一个正则表达式中完成,或者是否必须一分为二。