如何使用 Privoxy 删除线路?

如何使用 Privoxy 删除线路?

我知道如何用 privoxy 交换某些内容,例如:

s/class="node ad"/class="node ad" style="display:none"/g

但是如何使用 privoxy 删除一行呢?例如:如果一行包含:

RANDOM STRING BEFORE<a href="/forum/100">Offtopic</a></td>RANDOM STRING AFTER

那么我应该在 user.action 文件中写入什么来删除该行?

我正在 Privoxy 中寻找这种“sed”效果:

echo -e "asdf\nsomething2\nadf" | sed '/thing2/d;'

如果我在 user.filter 文件中使用“/Offtopic/d”,它将不起作用。 (是的,我在 user.filter 中有其他规则完美运行。)

答案1

您可能想阅读正则表达式。您发布的行是正则表达式:

s/class="node ad"/class="node ad" style="display:none"/g

它的意思是“用第二个字符串替换第一个字符串的每次出现”。

如果你想删除某些内容,可以将第二个字符串留空,如下所示:

s/class="node ad"//g

这将删除该字符串的所有出现位置。

如果你想匹配整行,你可以使用:

s/^.*some_string.*$//g

其中^是表示“行开头”的特殊字符,$表示“行结束”,.表示任何字符,并且*表示该字符的零次或多次重复。

因此,它将匹配“任何字符的零次或多次重复”,然后是“some_string”,然后再次匹配“任何字符的零次或多次重复”(这应该达到您想要的效果)。

如果您想了解更多信息,这里有一个关于正则表达式的很好的介绍。

答案2

我不知道 Privoxy,但从上面的替换语句来看可以工作:

s/^.*<a href="/forum/100">Offtopic</a></td>.*$//

相关内容