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

c# - 正则表达式从字符串中去除 BBCode 标签

我正在开发一个使用 JQuery MarkItUp 的功能!编辑器作为 BBCode 编辑器。我只允许 BBCode 的一小部分,包括以下内容:

我有一个使用编辑器的 1,500 个字符的“描述”字段,但我还计划存储一个 150 个字符的描述摘要,并去掉所有 BBCode。

我目前正在使用一个简单的 RegEx 在 C# 中执行此操作。它基本上将嵌入的 BBCodes 核对到一个字符串中,但它留下了很多“嘈杂的内容”,比如我也想从摘要中删除的 [img] URL 或 [youtube] 视频 ID。

这是我当前的正则表达式:

如果我通过这个函数运行以下字符串,我会得到如下所示的结果:

来源

结果

这是大胆的。这是斜体。这是一张图片:http ://www.phatmac.com/Pics/Movies/Incredibles.jpg这是 ESPN 的链接。这是一个 YouTube 视频:WJ0UkZ3W4FA

这就是我想要回来的

这是大胆的。这是斜体。这是一张图片:这是 ESPN 的链接。这是一个 YouTube 视频:

如何修改我的 StripBBCode() 函数来实现这一点?

已编辑

下面大卫在第一个答案中的建议是正确的。

这是我现在使用的:

0 投票
1 回答
373 浏览

regex - 使用正则表达式转换 BBCode

我正在为一个网站建立一个自定义讨论板。(该网站确实需要一个自定义的。:))我正在尝试做的是使用正则表达式来获取 [b] 并在输出中转换。然后也是其他样式 [img]example.jpg[/img] 并输出 <\img src="example.jpg">。但到目前为止,我所尝试的一切似乎都没有奏效。有没有人有任何例子说明这将如何工作?

0 投票
2 回答
408 浏览

php - 如何在 preg replace 的正则表达式中使用 substr

我正在为 youtube 视频制作 bbcode。用户可以将视频发布为 bbcode,例如 [youtube]http://www.youtube.com/watch?v=ihK2pPcDSHM[/youtube]。接下来,它会将其转换为 html 代码。但我想显示视频的图像而不是视频。所以我这样做:

它显示了图像,但是当有人输入如下网址时:

然后图像 url 变为http://img.youtube.com/vi/ihK2pPcDSHM&feature=channel1/0.jpg不会导致有效图像。我正在尝试将其更改\\1".substr('\\1', 0,11)."但没有任何结果。

有什么建议可以解决这个问题吗?谢谢!

0 投票
1 回答
811 浏览

javascript - BBCode正则表达式解析问题

所以我有一些将 BBCode 转换为 HTML 的 Javascript,这似乎工作得很好,但我有一个问题。

这是我用来将 BB 标签 [b] 和 [/b] 转换为 <b> 和 </b>的表达式之一。

这也会转换连续的标签。例如

[b]str1[/b] [b]str2[/b]

变成

字符串 1 字符串 2

哪个好;这就是我想要它做的。但是,当我尝试像这样匹配引号标签时

str 在哪里

[quote]1 级嵌套[quote]2 级嵌套[/quote][/quote]

只有第一个标签被匹配和转换,所以我最终得到的输出看起来像

嵌套级别 1 [quote]嵌套级别 2

[/引用]

使用引号框外的最后一个引号标签 - 它应该嵌套在另一个引号内。帮助?

另外,如果它是相关的,quotebox 类如下

.quotebox{
边框:1px 内嵌黑色;
显示:块;
边距底部:5px;
边距顶部:5px;
填充:2px 2px 2px 4px;
}

0 投票
2 回答
302 浏览

php - AS3 BBcode 还是替换技术?

我正在用 AS3/PHP(数据库调用)创建一个网站,我想在主页上加载新闻,从一个 mySQL 数据库提供。使用 AMFPHP 获取纯文本没有问题。但我正在寻找不同的东西。我知道如何在 AS3 中加载图像/YouTube 视频,所以我想用它来增加新闻的趣味性。有什么办法可以输入类似

它会在我的文本之间创建一个我的 YouTube API 类的实例并创建两个 TextField?AS3 没有 BBcode 库,所以我的第二个猜测是……正则表达式。不过,我似乎无法理解这一点,有人想尝试同样的事情并成功了吗?

提前致谢。

0 投票
2 回答
1004 浏览

php - 允许用户使用 WYSIWYG 发布 BBCode 或 HTML?

我一直在更新会员页面系统,其中一项要求是允许在某些字段上使用粗体、下划线、斜体、字体颜色和链接,但不允许字体大小或样式 - 所有这些都使用 WYSIWYG 编辑器。这最初是使用 textarea 和一些最小的 HTML 过滤完成的,即<script>使用preg_replace(). 我知道这很疯狂而且绝对不安全。

我的第一个修改是使用 TinyMCE 并禁止在 TinyMCE 中使用某些标签,唯一的问题是显然我不能依赖 TinyMCE 作为任何类型的验证器,并且我发现保护 HTML 输入免受 XSS 是一个绝对雷区。我花了最后一个小时左右阅读某些实践,似乎几乎不可能允许某些 HTML 标记/属性而不会弄乱当前配置文件并进一步允许其他自定义,例如字体大小和内联样式的东西。例如,我需要允许带有 span 标签的字体颜色,但允许 style 属性也将允许任何 CSS 片段。

我现在已经想到了将 BBCode 与所见即所得编辑器一起使用的想法,因为这将使我们能够安全地应用于htmlspecialchars()输出,然后完全控制使用 BBCode 解析器为 [b]、[u] 生成的任何 HTML, [i] 和 [color] 带有nl2br()换行符的标签。

唯一的问题是我必须编写一些代码来将当前的 HTML 设置转换为 BBCode。

我的主要疑问是上述步骤与 BBCode 是否足以防止 XSS 攻击?或者我可以使用更优雅/更明显的 HTML 安全方法吗?

0 投票
1 回答
264 浏览

ruby-on-rails - 在文本区域中处理一种以上的标记语言

我现在想知道如何使用 ruby​​ on rails 3 在文本区域中处理多种标记语言(textile、markdown 和 bbcode)。

用户将能够选择他/她想要使用的标记语言,用该语言编写,然后视图将使用用户选择的标记语言呈现文本。

我目前正在处理为每个文本区域存储一个字段,但我确信有更好的方法,我很想听听您的意见并提出更好的方法。

0 投票
2 回答
321 浏览

javascript - 正则表达式图像到 BBCode 的问题

我正在为我自己的 phpBB3 做一些事情,我正在尝试将这些微笑转换回原来的笑脸状态,例如

由于笑脸的 HTML 包含以下内容:

替换为:

但是,当我有多个笑脸时,它只会显示最后一个笑脸,例如,如果它是这样的:

替代文字 http://uimgz.com/i/R2e3H8g5D8.png

它变成了这样:

这是右边的最后一个笑脸,为什么它没有替换并返回它应该返回的所有笑脸状态:

正则表达式看起来不错,但我不认为是什么问题,所有正则表达式都使用for()循环通过替换循环,所以这不是问题。

多个表情符号 HTML:

0 投票
3 回答
907 浏览

java - 一个替代方案允许更多格式的标签,如 BBcode 或 Wiki

我正在设计 JSP 应用程序,我想打印用户输入。我需要像<c:out>标签这样的东西,但需要一个允许用户进行一些格式化的东西。

首先,我想翻译\n成,<br />但我仍然需要提供所有 XML 转义<c:out>。然后我意识到允许更多的格式化会很好,比如 BBcode 或 Wiki 语法。

是否有任何允许这样做的 JSP 标记库?

0 投票
1 回答
470 浏览

php - BBCode 需要 preg_replace 帮助

我不能完全弄清楚与 PHP 的 preg_replace 函数一起使用的正确模式。这是phpBB论坛上一些BBCode的示例。

我想删除可能嵌入在文本中的任意数量的开始和结束字体标签,但将文本保留在两者之间。在这种情况下,我想结束:

字体名称各不相同,有些名称中有空格,有些则没有。无论如何,模式匹配都必须起作用。

提前致谢!