.NET 中的 PHP htmlspecialcharacters 等效吗?
题
PHP 有一个很棒的函数,叫做 html特殊字符() 当你向它传递一个字符串时,它会用它们的安全等价物替换所有 HTML 的特殊字符,它是 几乎 用于清理输入的一站式服务。非常好,对吧?
.NET 库中是否有等效项?
如果没有,任何人都可以链接到任何可以很好地做到这一点的代码示例或库吗?
解决方案
尝试这个。
var encodedHtml = HttpContext.Current.Server.HtmlEncode(...);
其他提示
不知道是否有确切的替代方案,但有一个方法 HtmlUtility.HtmlEncode
将特殊字符替换为其 HTML 等效字符。一个近亲表弟是 HtmlUtility.UrlEncode
用于渲染 URL。您还可以使用验证器控件,例如 RegularExpressionValidator
, RangeValidator
, , 和 System.Text.RegularExpression.Regex
确保您得到您想要的东西。
事实上,你可能想尝试一下这个方法:
HttpUtility.HtmlAttributeEncode()
为什么?引用 MSDN 文档中的 HtmlAttributeEncode 页面:
HtmlAttributeEncode 方法仅将引号 (")、与号 (&) 和左尖括号 (<) 转换为等效的字符实体。它比 HtmlEncode 方法快得多。
不隶属于 StackOverflow