我正在使用PowerShell脚本生成一些简单的HTML,我想要转义结果HTML中使用的字符串(因为它们可以包含一些特定于HTML的符号).
例如:
$a = "something <somthing else>";
Run Code Online (Sandbox Code Playgroud)
应转换为以下内容:
"something <something else>"
Run Code Online (Sandbox Code Playgroud)
那有内置功能吗?
And*_*ndi 48
有一个类将在System.Web中执行此操作.
Add-Type -AssemblyName System.Web
[System.Web.HttpUtility]::HtmlEncode('something <somthing else>')
Run Code Online (Sandbox Code Playgroud)
你甚至可以走另一条路:
[System.Web.HttpUtility]::HtmlDecode('something <something else>')
Run Code Online (Sandbox Code Playgroud)
从PowerShell 3.0开始,用于[System.Net.WebUtility]以下四种常见操作中的任何一种:
[System.Net.WebUtility]::HtmlEncode('something <somthing else>')
[System.Net.WebUtility]::HtmlDecode('something <somthing else>')
[System.Net.WebUtility]::UrlEncode('something <somthing else>')
[System.Net.WebUtility]::UrlDecode('something+%3Csomthing+else%3E')
Run Code Online (Sandbox Code Playgroud)
[System.Web.HttpUtility]::HtmlEncode是.NET 4.0(PowerShell 2.0或更早版本)之前的常用方法,但需要加载System.Web.dll:
Add-Type -AssemblyName System.Web
Run Code Online (Sandbox Code Playgroud)
从.NET 4.0(PowerShell 3.0)[System.Web.HttpUtility]::HtmlEnocde内部调用开始[System.Net.WebUtility]::HtmlEncode,因此省略中间man(System.Web.dll)是有意义的.
| 归档时间: |
|
| 查看次数: |
25287 次 |
| 最近记录: |