.NET中的静态方法HtmlEncode可以对常见的字符进行HTML编码,但是遇到一些特殊字符,仍旧无能为力。为了支持所有字符,这里写了一个函数分享给大家:
ConvertTo-EncodedHtml
function ConvertTo-EncodedHTML($HtmlText)
{
$chars = [Web.HttpUtility]::HtmlEncode($HtmlText).ToCharArray()
$txt = New-Object System.Text.StringBuilder
$null = . {
foreach($c in $chars)
{
if ([int]$c -gt 127)
{
$txt.Append("" + [int]$c + ";")
}
else
{
$txt.Append($c)
}
}
}
return $txt.ToString()
}
该函数会检查所有字符的ASCII编码,如果大于127,就把它们转换成对应的HTML编码版本。
×用微信扫描并分享