问题标签 [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.
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() 函数来实现这一点?
已编辑
下面大卫在第一个答案中的建议是正确的。
这是我现在使用的:
regex - 使用正则表达式转换 BBCode
我正在为一个网站建立一个自定义讨论板。(该网站确实需要一个自定义的。:))我正在尝试做的是使用正则表达式来获取 [b] 并在输出中转换。然后也是其他样式 [img]example.jpg[/img] 并输出 <\img src="example.jpg">。但到目前为止,我所尝试的一切似乎都没有奏效。有没有人有任何例子说明这将如何工作?
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)."
但没有任何结果。
有什么建议可以解决这个问题吗?谢谢!
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;
}
php - AS3 BBcode 还是替换技术?
我正在用 AS3/PHP(数据库调用)创建一个网站,我想在主页上加载新闻,从一个 mySQL 数据库提供。使用 AMFPHP 获取纯文本没有问题。但我正在寻找不同的东西。我知道如何在 AS3 中加载图像/YouTube 视频,所以我想用它来增加新闻的趣味性。有什么办法可以输入类似
它会在我的文本之间创建一个我的 YouTube API 类的实例并创建两个 TextField?AS3 没有 BBcode 库,所以我的第二个猜测是……正则表达式。不过,我似乎无法理解这一点,有人想尝试同样的事情并成功了吗?
提前致谢。
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 安全方法吗?
ruby-on-rails - 在文本区域中处理一种以上的标记语言
我现在想知道如何使用 ruby on rails 3 在文本区域中处理多种标记语言(textile、markdown 和 bbcode)。
用户将能够选择他/她想要使用的标记语言,用该语言编写,然后视图将使用用户选择的标记语言呈现文本。
我目前正在处理为每个文本区域存储一个字段,但我确信有更好的方法,我很想听听您的意见并提出更好的方法。
javascript - 正则表达式图像到 BBCode 的问题
我正在为我自己的 phpBB3 做一些事情,我正在尝试将这些微笑转换回原来的笑脸状态,例如
由于笑脸的 HTML 包含以下内容:
替换为:
但是,当我有多个笑脸时,它只会显示最后一个笑脸,例如,如果它是这样的:
替代文字 http://uimgz.com/i/R2e3H8g5D8.png
它变成了这样:
这是右边的最后一个笑脸,为什么它没有替换并返回它应该返回的所有笑脸状态:
正则表达式看起来不错,但我不认为是什么问题,所有正则表达式都使用for()
循环通过替换循环,所以这不是问题。
多个表情符号 HTML:
java - 一个替代方案允许更多格式的标签,如 BBcode 或 Wiki
我正在设计 JSP 应用程序,我想打印用户输入。我需要像<c:out>
标签这样的东西,但需要一个允许用户进行一些格式化的东西。
首先,我想翻译\n
成,<br />
但我仍然需要提供所有 XML 转义<c:out>
。然后我意识到允许更多的格式化会很好,比如 BBcode 或 Wiki 语法。
是否有任何允许这样做的 JSP 标记库?
php - BBCode 需要 preg_replace 帮助
我不能完全弄清楚与 PHP 的 preg_replace 函数一起使用的正确模式。这是phpBB论坛上一些BBCode的示例。
我想删除可能嵌入在文本中的任意数量的开始和结束字体标签,但将文本保留在两者之间。在这种情况下,我想结束:
字体名称各不相同,有些名称中有空格,有些则没有。无论如何,模式匹配都必须起作用。
提前致谢!