如何根据字符串删除所有图像标记

时间:2016-10-12 22:22:46

标签: regex powershell

我正在尝试从文件夹中的几百页的HTML中删除图像。常见的字符串是" /stream/image.axd"。我尝试过使用RegEx,但我似乎无法弄清楚如何到达标签的开头和结尾部分。

示例如下所示。

新的齿轮看起来像<img src="/stream/image.axd?picture=planetary.gif" width="600" height="237">

1 个答案:

答案 0 :(得分:0)

首先:你不应该使用正则表达式解析html,看看here。如果您仍想这样做,可以使用类似

的内容
Get-Content 'file.html' | ForEach{$_ -replace '<.*/stream/image\.axd.*?>'}

更高级,您可以使用this thread中的方法来设置本地html文件的.NET解析版本:

$html = New-Object -ComObject "HTMLFile";
$source = Get-Content -Path "file.html" -Raw;
$html.IHTMLDocument2_write($source);

获得后,您可以按标签名称识别图像,然后使用removeNode方法删除图像标签。