正则表达式删除带有属性的 bbcode 标签

发布于 2024-10-30 01:18:28 字数 304 浏览 4 评论 0原文

我有许多具有 phpbb 属性的 bbcode 标签(5 位数字值 - 假设文本颜色或其他内容)。它们在文本中看起来像这样:

This is [b:31747]bold[/b:31747] text and so is [b:17171]this[/b:17171].

我无法让正则表达式找到 bracket+b+colon+any_combo_of_5_digits+end_bracket 并让我将其替换为相应的 html。使用 php 的 preg_replace() 函数(如果有区别的话)。

I've got a number of bbcode tags that have phpbb attributes (5 digit value - assuming text color or something). They look like this in the text:

This is [b:31747]bold[/b:31747] text and so is [b:17171]this[/b:17171].

I cannot get a regex working that finds bracket+b+colon+any_combo_of_5_digits+end_bracket and lets me replace it with corresponding html. Using php's preg_replace() function, if it makes a difference.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

你是我的挚爱i 2024-11-06 01:18:28

这应该适用于任何类型标签的开始和结束标签:

$string = preg_replace("/\[(\/?[a-zA-Z]+):[\d]{5}\]/is", "<$1>", $string);

This should work with both opening and closing tags for any type of tag:

$string = preg_replace("/\[(\/?[a-zA-Z]+):[\d]{5}\]/is", "<$1>", $string);
俯瞰星空 2024-11-06 01:18:28

这将取代粗体、下划线和斜体标签。

$new_text = preg_replace('~\[(/?[bui]):\d+\]~is', '<$1>', $text);
echo $new_text; // This is <b>bold</b> text and so is <b>this</b>.

This would replace bold, underline and italic tags.

$new_text = preg_replace('~\[(/?[bui]):\d+\]~is', '<$1>', $text);
echo $new_text; // This is <b>bold</b> text and so is <b>this</b>.
一杯敬自由 2024-11-06 01:18:28

您需要的正则表达式是:

\[/?b:\d{5}]

The regular expression you need is:

\[/?b:\d{5}]
忘东忘西忘不掉你 2024-11-06 01:18:28
preg_replace("/\[\/?b:[0-9]*?\]/","","[b:17171]this[/b:17171]");

http://ideone.com/fDCZM

preg_replace("/\[\/?b:[0-9]*?\]/","","[b:17171]this[/b:17171]");

http://ideone.com/fDCZM

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文