gpt4 book ai didi

c# - 在 C# 中将帖子标题转换为 URL 的最佳方法

转载 作者:太空狗 更新时间:2023-10-30 01:28:23 25 4
gpt4 key购买 nike

我想知道将字符串(例如帖子标题)转换为描述性 URL 的最佳方式是什么。想到的最简单的方法是使用正则表达式,例如:

public static Regex regex = new Regex(
"\\W+",
RegexOptions.IgnoreCase
| RegexOptions.CultureInvariant
| RegexOptions.IgnorePatternWhitespace
| RegexOptions.Compiled
);

string result = regex.Replace(InputText,"_");

轮流

“我的第一个(还算不错)纸杯蛋糕!!:) .//\。”

进入

my_first_yet_not_so_bad_cupcake_

然后我可以去掉最后一个“_”并对照我的数据库检查它是否存在。在那种情况下,我会添加一个尾随数字以使其唯一并重新检查。

我可以用它,比如说

http://myblogsite.xom/posts/my_first_yet_not_so_bad_cupcake

但是,这样安全吗?我应该检查其他东西吗(比如字符串的长度)您还有其他更好的方法吗?谢谢

最佳答案

这就是我所做的。 regStripNonAlpha 删除所有非字母或“-”字符。 Trim() 删除尾随和前导空格(因此我们不会在两边都出现破折号)。 regSpaceToDash 将空格(或空格的运行)转换为单个破折号。这对我来说效果很好。

static Regex regStripNonAlpha = new Regex(@"[^\w\s\-]+", RegexOptions.Compiled);
static Regex regSpaceToDash = new Regex(@"[\s]+", RegexOptions.Compiled);

public static string MakeUrlCompatible(string title)
{
return regSpaceToDash.Replace(
regStripNonAlpha.Replace(title, string.Empty).Trim(), "-");
}

关于c# - 在 C# 中将帖子标题转换为 URL 的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/714653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com