Art*_*ski 4 html regex string powershell
我有一个大的HTML数据字符串分成小块.我正在尝试编写PowerShell脚本来删除所有HTML标记,但我发现很难找到正确的正则表达式模式.
示例字符串:
<p>This is an example</br>of various <span style="color: #445444">html content</span>
Run Code Online (Sandbox Code Playgroud)
我尝试过使用:
$string -replace '\<([^\)]+)\>',''
Run Code Online (Sandbox Code Playgroud)
它适用于简单的示例,但上面的示例捕获整个字符串.
有什么建议是实现这个目标的最佳途径吗?
提前致谢
bri*_*ist 10
对于纯正则表达式,它应该像以下一样简单<[^>]+>
:
$string -replace '<[^>]+>',''
Run Code Online (Sandbox Code Playgroud)
请注意,这可能会因某些HTML注释或<pre>
标记内容而失败.
相反,您可以使用专为.Net代码设计的HTML Agility Pack,我之前在PowerShell中成功使用过它:
Add-Type -Path 'C:\packages\HtmlAgilityPack.1.4.6\lib\Net40-client\HtmlAgilityPack.dll'
$doc = New-Object HtmlAgilityPack.HtmlDocument
$doc.LoadHtml($string)
$doc.DocumentNode.InnerText
Run Code Online (Sandbox Code Playgroud)
HTML Agility Pack适用于非完美的HTML.
归档时间: |
|
查看次数: |
13899 次 |
最近记录: |