我有一个来自数据库的任意字符串。我想将此字符串作为 HTML 类名放在网页上。我不确定会期待什么角色。如何删除空格和特殊字符以使其成为 CSS 类名“安全”?
经过一番研究,似乎空间和这些字符需要删除:
!"#$%&'()*+,./:;<=>?@[\]^`{|}~
删除它们的最佳方法是什么?
我有一个来自数据库的任意字符串。我想将此字符串作为 HTML 类名放在网页上。我不确定会期待什么角色。如何删除空格和特殊字符以使其成为 CSS 类名“安全”?
经过一番研究,似乎空间和这些字符需要删除:
!"#$%&'()*+,./:;<=>?@[\]^`{|}~
删除它们的最佳方法是什么?
您可能希望查看此线程以更好地理解有效的 CSS 名称。
我推荐了一个如下的实用函数,您应该根据需要测试/更改正则表达式。
Regex re = new Regex(@"[!""#$%&'()\*\+,\./:;<=>\?@\[\\\]^`{\|}~ ]");
string outputString = re.Replace(inputString, string.Empty);
您正在尝试 System.IO.Path.GetInvalidFileNameChars 过滤掉特殊字符:
var tagName = "fo@3do@11~1298#bar";
var invalidChars = System.IO.Path.GetInvalidFileNameChars();
var cleanTagName = new string(tagName.Where(m => !invalidChars.Contains(m)).ToArray<char>());