问题标签 [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 投票
2 回答
51 浏览

php - PHP如何从字符串中删除它?

我想从字符串中删除它:

谁能提供一个我可以使用的模式?

0 投票
2 回答
174 浏览

bbcode - 如何停止 BB 代码操纵?

嗨,我最近发现了一个问题,即使用 BB 代码输入链接的人能够操纵它们。

它们旨在输入以下内容:

但是,他们可以输入这样的内容来使链接颜色变为红色:

这是转换它的代码:

另外,我忘了,这是另一种类型:

0 投票
3 回答
118 浏览

php - 如何停止 BB 代码操作(第二部分)?

我最近发现了一个问题,即使用 BB 代码输入链接的人能够操纵它们。

它们旨在输入以下内容:

但是,他们可以输入这样的内容来使链接颜色变为红色:

这是转换它的代码:

其他人很友好地为一个非常相似的问题提供了解决方案,但他们希望我为此提出一个新问题。他们的解决方案只需要适应。我已经尝试过自己,但我真的无法让它发挥作用。 如何停止 BB 代码操纵?

0 投票
4 回答
580 浏览

regex - 除了 URL 正则表达式

叹息,正则表达式又麻烦了。

我有以下内容$text

我有正则表达式:

关键是仅在 url 前面没有[img]or[url]且后面没有[/img]or的情况下才替换它[/url]。在上一个示例的输出中,我得到:

URL 和lookbehind 和lookbehind 正则表达式都可以单独工作。

我想问题在于环视和 URL 正则表达式的组合。我的错在哪里?

我想要

http://www.google.com替换为“有链接”,但保持原样“[url] http://www.google.com[/url]

我越来越

http://www.google.com替换为“有链接”,[url] http://www.google.com[/url]替换为“有链接”

这是要测试的 PHP 代码

0 投票
2 回答
1122 浏览

php - 删除 PHP 中的嵌套 bbcode(引号)

我正在尝试从我的公告板中删除嵌套引用,但我遇到了一些问题。

示例输入:

[引用作者=personX 链接=topic=12.msg1910#msg1910 date=1282745641]

第二条消息引用了第一条消息

[/引用]

[引用作者=PersonZ 链接=主题=1.msg1#msg1 日期=1282533805]

随机的第三个报价

[/引用]

示例输出

[引用作者=personX 链接=topic=12.msg1910#msg1910 date=1282745641]

第二个报价中的消息

[/引用]

[引用作者=PersonZ 链接=主题=1.msg1#msg1 日期=1282533805]

随机的第三个报价

[/引用]

如您所见,嵌套的引号(原始消息)与引号标记一起被删除。

我似乎无法弄清楚。

当我尝试

它会删除除第一个之外的所有引用标签,

但是当我将代码扩展为:

它根本停止做任何事情。

对此有什么想法吗?


编辑:

谢谢你的帮助,哈吉。

不过,我总是遇到麻烦。

while 循环

导致页面无限循环,当被删除时(连同额外的 u 在 quoute 中),页面不做任何事情。

我已经确定原因是匹配

当更改为

代码确实开始工作,但是当更改为

它再次停止做任何事情。

此外,undo_replace 函数存在一个问题,因为它永远不会找到存储的哈希值,它只会给出有关未找到索引的警告。我猜与 sha1 匹配的正则表达式无法正常工作。

我现在拥有的完整代码:

再次感谢任何想法家伙:)

0 投票
2 回答
751 浏览

php - 由于 PCRE 限制,正则表达式使 Apache 崩溃

我目前正在创建 bbcode 解析引擎,但遇到了我自己无法解决的情况。

问题是,我遇到了一个与此完全相同的问题: Windows 上的 Apache / PHP crash with regular expression

这意味着,如果我做出类似下面示例的操作,Apache 会因为递归计数达到 690(PCRE 的内存限制为 1MB)而崩溃:

所以我需要以某种方式最小化*+的正则表达式的需求,但这就是我没有想法的地方,所以我想也许你可以提出一些建议。

欢迎使用其他解析 bbcode 的方法(可以处理嵌套标签)。但是我不想使用已经构建的类或其他东西。我喜欢自己做事!

我还研究了 PECL 和 Pear HTML_BBCodeParser。但我不希望我的应用程序依赖于扩展。更有可能我可能会做一些脚本来检查该扩展,如果它不存在,请使用我在这里尝试做的 BBCode 解析器。

对不起,如果我的描述令人沮丧,我不是英语专业人士^^

编辑。所以正则表达式解释说:

这是我的开始标签。我使用了命名组。使用“标签”标识标签,使用“属性”标识标签属性。也可以将标签视为一个属性。那么这里发生了什么?我尝试匹配一个标签,当一个标签匹配时,我尝试匹配=符号之后的任何内容或\s(spacer) 之后的任何内容,直到它到达 tag closure ]

现在我在这里尝试匹配内容。这是棘手的部分。我正在寻找任何不是 [ 的字符,如果找到任何字符,则检查它是否不是我的结束标签或递归,并告诉正则表达式引擎这样做,直到...。

...找到结束标签。

0 投票
2 回答
396 浏览

php - 如何在php中删除这个标签?

我想从文本中删除所有内容(包括标签),例如:

但在一个条件下,[url]标签内部会有[img]标签。所以最后一句要删减:

谁能帮忙?我对正则表达式不好,还是有更简单的方法?

0 投票
0 回答
695 浏览

bbcode - 我无法让 MarkItUp 在预览中显示 bbcode

我想使用 markItUp 来允许用户使用 bbcode 格式化他们的文本,但是预览不起作用。

我已经从该站点下载了 markItUp 1.1.8 并在本地进行了测试。默认行为是使用 HTML 代码进行格式化,按下预览会将代码呈现为 html 并显示格式。

我已经从同一个 markItUp 网站下载了“基本 bbcode 集”,并按照说明将此文件夹放入“sets”文件夹中。我已按照指示将 js 文件的路径从 markitup/sets/default/set.js 更改为 markitup/sets/bbcode/set.js。与 css 文件相同。

如果我现在测试 markItUp 编辑器,它允许我将 bbcode 添加到我的文本中,但如果我按下预览,它不会将我的 bbcode 呈现为格式化文本。

我在 markItUp 网站上读到,我必须使用 bbcode 解析器才能进行预览,所以我从该网站下载了“markItUp!Php BBCode Parser”。我把它放在我的 markItUp 文件的根目录中,并且在 jquery.markitup.js 文件中,我按照说明编写了解析器的路径。我使用的路径是 ~/markitup.bbcode-parser.php

但这行不通。如果我在本地测试,预览只是显示废话,或者如果我在本地主机测试,则显示纯白框。

0 投票
1 回答
524 浏览

php - PHP 基础 BBcode

我已经成功地集成了 BBCode,但我想知道是否要动态列出所有允许/接受的 BBCode - 我怎么能做到这一点?(因为手动写出来可能很乏味......如果 BBCode 改变了,我必须更新写作)

我目前有一个 BBCode() 函数,它包含 2 个数组,一个包含正则表达式,另一个包含替换 (html),然后我返回正则表达式数组的 preg_replace() 和替换 (html) 数组.

干杯,期待您的投入!

0 投票
4 回答
2393 浏览

ruby - 正则表达式将 BBCode 分成几块

我有这个:

我想得到这个: