.NET中的PHPs htmlspecialcharacters是否等效?

时间:2020-03-05 18:40:51  来源:igfitidea点击:

PHP具有一个称为htmlspecialcharacters()的强大功能,我们可以在其中传递一个字符串,并用安全的等价字符替换HTML的所有特殊字符,这几乎是一站式处理输入的过程。非常好吧?

那么.NET库中是否有等效项?

如果不是,那么有人可以链接到执行此操作的任何代码示例或者库吗?

解决方案

回答

System.Web.HttpUtility.HtmlEncode(字符串)

回答

试试这个。

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

回答

不知道是否有确切的替代方法,但是有一种方法" HtmlUtility.HtmlEncode",它将特殊字符替换为它们的HTML等效项。近亲是HtmlUtility.UrlEncode,用于呈现URL。我们还可以使用诸如RegularExpressionValidator,RangeValidator和System.Text.RegularExpression.Regex等验证器控件来确保获得所需的内容。

回答

实际上,我们可能想尝试以下方法:

HttpUtility.HtmlAttributeEncode()

为什么?引用MSDN文档中的HtmlAttributeEncode页面:

The HtmlAttributeEncode method converts only quotation marks ("), ampersands (&), and left angle brackets (<) to equivalent character entities. It is considerably faster than the HtmlEncode method.