我有一个来自数据库的任意字符串。我想将此字符串作为HTML类名放在网页上。我不确定期待什么字符。如何删除空格和特殊字符以使其成为CSS类名称“安全”?
经过一些研究,似乎空间和这些角色需要删除:
!"#$%&'()*+,./:;<=>?@[\]^`{|}~
删除它们的最佳方法是什么?
答案 0 :(得分:5)
您可能希望查看this主题以更好地了解有效的CSS名称。
我推荐了如下的实用程序功能,你应该根据需要测试/更改正则表达式。
Regex re = new Regex(@"[!""#$%&'()\*\+,\./:;<=>\?@\[\\\]^`{\|}~ ]");
string outputString = re.Replace(inputString, string.Empty);
答案 1 :(得分:0)
您正在尝试使用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>());