.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.