Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 清理表单输入上的多个空格/换行符_C#_Asp.net_Regex_Asp.net Mvc - Fatal编程技术网

C# 清理表单输入上的多个空格/换行符

C# 清理表单输入上的多个空格/换行符,c#,asp.net,regex,asp.net-mvc,C#,Asp.net,Regex,Asp.net Mvc,我接受将在公共页面上呈现的字段中的用户输入(例如论坛上的帖子或网站上的评论)。我希望能够使用CSS属性,根据需要将这些内容呈现为段落以及用户的换行符 white-space: pre-line; 这允许用户以段落格式发布,就像您正在阅读的这篇文章一样 然而,我不希望恶意用户能够提交带有大量空白的帖子,从而大大增加页面的长度。目前,我正在尝试使用正则表达式对输入进行清理,删除重复的空白字符(双空格或双换行符)。这有点复杂而且很难看。我仍然希望用户能够提交包含空格的帖子。但是,编写正则表达式真的仍

我接受将在公共页面上呈现的字段中的用户输入(例如论坛上的帖子或网站上的评论)。我希望能够使用CSS属性,根据需要将这些内容呈现为段落以及用户的换行符

white-space: pre-line;
这允许用户以段落格式发布,就像您正在阅读的这篇文章一样

然而,我不希望恶意用户能够提交带有大量空白的帖子,从而大大增加页面的长度。目前,我正在尝试使用正则表达式对输入进行清理,删除重复的空白字符(双空格或双换行符)。这有点复杂而且很难看。我仍然希望用户能够提交包含空格的帖子。但是,编写正则表达式真的仍然是解决这一常见问题的最佳方法吗


是否有一种最佳做法来清除C#/ASP.NET中用户输入的多余空白字符,或者编写我们自己的正则表达式仍然是2015年的最佳选择?

如果恶意用户想要破坏您的网站,他们可以发布自己的内容,他们会这样做。如果他们不能使用过多的空白,他们会滥用标记将整个帖子加粗,或者只发布几兆的Lorem Ipsum

没有“一条规则可以禁止所有内容”,所以如果你想这样做的话,你只需要不断地将重复的空格折叠成一个


一种方法是使用现有的用户安全的HTML模板引擎,比如Markdown,而不是使用自己的模板引擎

我想知道
捆绑
缩小
()是否是这里的相关术语。缩小对脚本或css执行各种不同的代码优化,例如删除不必要的空白和注释,并将变量名缩短为一个字符。