如何从 .Net 中的字符串中删除 BBCode

发布于 2024-09-01 15:39:05 字数 264 浏览 4 评论 0原文

我正在尝试从字符串中删除所有 BBCode 标签。

[url]www.google.com[/url]

变成

www.google.com

我有一个在 php 中工作的正则表达式来找到它们,只是不知道如何在 .net

RegEx 中删除它们来查找 BBCode

|[[\/\!]*?[^\[\]]*?]|si

I'm trying to remove all BBCode Tags from a string.

[url]www.google.com[/url]

becomes

www.google.com

I have a regex that works in php to find them all, just dont know how to remove them in .net

RegEx to Find BBCode

|[[\/\!]*?[^\[\]]*?]|si

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

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

发布评论

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

评论(2

送君千里 2024-09-08 15:39:05

您的正则表达式看起来不起作用,所以我尝试了另一种:

string s = "[url]www.google.com[/url] [url=www.google.com]www.google.com[/url]";
s = Regex.Replace(s, @"\[[^]]+\]", "");

结果:

www.google.com www.google.com

此外,您将需要在文件顶部使用此 using 语句才能使其工作:

using System.Text.RegularExpressions;

Your regular expression looks like it won't work so I tried a different one:

string s = "[url]www.google.com[/url] [url=www.google.com]www.google.com[/url]";
s = Regex.Replace(s, @"\[[^]]+\]", "");

Result:

www.google.com www.google.com

Also, you will need this using statement at the top of your file to make this work:

using System.Text.RegularExpressions;
梦醒灬来后我 2024-09-08 15:39:05

如果您使用 Codekicker.BBCode 库(这个that) 那么此代码将剥离已知的 bbcode 标签:

parser.ParseSyntaxTree(@"[url]www.google.com[/url] [url=www.google.com]www.google.com[/url]").ToText()

这将仅剥离已知的 BB 代码标签您需要首先创建 BBCodeParser 实例,其中包含有关所用标签的信息。库使用的默认解析器是:(

var parser = new BBCodeParser(ErrorMode.ErrorFree, null, new[]
{
    new BBTag("b", "<b>", "</b>"),
    new BBTag("i", "<span style=\"font-style:italic;\">", "</span>"),
    new BBTag("u", "<span style=\"text-decoration:underline;\">", "</span>"),
    new BBTag("code", "<pre class=\"prettyprint\">", "</pre>"),
    new BBTag("img", "<img src=\"${content}\" />", "", false, true),
    new BBTag("quote", "<blockquote>", "</blockquote>"),
    new BBTag("list", "<ul>", "</ul>"),
    new BBTag("*", "<li>", "</li>", true, false),
    new BBTag("url", "<a href=\"${href}\">", "</a>", new BBAttribute("href", ""), new BBAttribute("href", "href")),
});

您需要自己创建它,Codekicker.BBCode不会公开该对象)

I you use Codekicker.BBCode library (this or that) then this code will strip known bbcode tags:

parser.ParseSyntaxTree(@"[url]www.google.com[/url] [url=www.google.com]www.google.com[/url]").ToText()

This will strip only known BB code tags and you need to first create BBCodeParser instance with information about used tags. The default parser used by library is:

var parser = new BBCodeParser(ErrorMode.ErrorFree, null, new[]
{
    new BBTag("b", "<b>", "</b>"),
    new BBTag("i", "<span style=\"font-style:italic;\">", "</span>"),
    new BBTag("u", "<span style=\"text-decoration:underline;\">", "</span>"),
    new BBTag("code", "<pre class=\"prettyprint\">", "</pre>"),
    new BBTag("img", "<img src=\"${content}\" />", "", false, true),
    new BBTag("quote", "<blockquote>", "</blockquote>"),
    new BBTag("list", "<ul>", "</ul>"),
    new BBTag("*", "<li>", "</li>", true, false),
    new BBTag("url", "<a href=\"${href}\">", "</a>", new BBAttribute("href", ""), new BBAttribute("href", "href")),
});

(you need to create it yourself, Codekicker.BBCode doesn't expose this object)

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