【问题标题】:PHPs htmlspecialcharacters equivalent in .NET?.NET中等效的PHP htmlspecialcharacters?
【发布时间】:2010-09-06 05:14:22
【问题描述】:

PHP 有一个很棒的函数,叫做htmlspecialcharacters(),你可以在其中传递一个字符串,它会用安全的等效字符替换所有 HTML 的特殊字符,它几乎是一个用于清理输入的一站式商店。很不错吧?

那么在任何 .NET 库中是否有等价物?

如果没有,任何人都可以链接到任何做得好的代码示例或库吗?

【问题讨论】:

    标签: c# .net php asp.net


    【解决方案1】:

    试试这个。

    var encodedHtml = HttpContext.Current.Server.HtmlEncode(...);
    

    【讨论】:

      【解决方案2】:
      【解决方案3】:

      不知道是否有确切的替换,但有一种方法HtmlUtility.HtmlEncode 可以用它们的 HTML 等价物替换特殊字符。一个近亲是 HtmlUtility.UrlEncode 用于呈现 URL。您还可以使用 RegularExpressionValidatorRangeValidatorSystem.Text.RegularExpression.Regex 等验证器控件来确保您得到您想要的。

      【讨论】:

        【解决方案4】:

        其实你可以试试这个方法:

        HttpUtility.HtmlAttributeEncode()
        

        为什么?引用HtmlAttributeEncode page at MSDN docs

        HtmlAttributeEncode 方法仅将引号 (")、与号 (&) 和左尖括号 (

        【讨论】:

          【解决方案5】:

          除了给出的答案: 当使用Razor view engine(这是 ASP.NET 中的默认视图引擎)时,使用“@”字符显示值将自动对显示的值进行编码。这意味着您不必使用编码。

          另一方面,当您希望对文本进行编码时,您必须明确指定(通过使用@Html.Raw)。在我看来,从安全的角度来看,这是一件好事。

          【讨论】:

            猜你喜欢
            • 2013-07-07
            • 2010-09-06
            • 1970-01-01
            • 2014-08-15
            • 2015-12-29
            • 1970-01-01
            • 2013-02-23
            • 2010-09-20
            • 2010-10-19
            相关资源
            最近更新 更多