Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
nginx subfilter regex删除一个html标记_Regex_Filter_Nginx - Fatal编程技术网

nginx subfilter regex删除一个html标记

nginx subfilter regex删除一个html标记,regex,filter,nginx,Regex,Filter,Nginx,我使用nginx subs过滤器模块从页面中删除html标记 标签是: <div id="header"> 紧接着是: <div id="mainscreen"> 我试过: subs_filter <div\ id=\"header\">.*<div\ id\"mainscreen\"> <div\ id=\"mainscreen\"> r; subs_filter <div\ id=\"header\">(

我使用nginx subs过滤器模块从页面中删除html标记

标签是:

<div id="header"> 

紧接着是:

 <div id="mainscreen">

我试过:

subs_filter <div\ id=\"header\">.*<div\ id\"mainscreen\"> <div\ id=\"mainscreen\"> r;
subs_filter <div\ id=\"header\">(.*)<div\ id\"mainscreen\"> <div\ id=\"mainscreen\"> r;
subs_filter <div\ id=\"header\">(.*?)<div\ id\"mainscreen\"> <div\ id=\"mainscreen\"> r;
subs_filter <div\ id=\"header\">(.*?\n)*<div\ id\"mainscreen\"> <div\ id=\"mainscreen\"> r;
subs\u过滤器。*r;
subs_滤波器(*)r;
subs_滤波器(.*r);
子过滤器(.*n)*r;
但一切都没有改变

以下是我要删除的内容:

<div id="header">
<div id="topline">
<div class="topleft">

    <a class="about-link" onclick="UI.show_about(this);return false" id="rcmbtn100" href="#">A propos</a>
        </div>

<div class="topright">

        <span class="username">michee.test@test.com</span>
    <a class="button-logout" id="rcmbtn101" href="./?_task=logout" onclick="return rcmail.command('switch-task','logout',this,event)">Déconnexion</a>

</div>
</div>

<div id="topnav">
<div id="taskbar" class="topright">
<a class="button-mail" id="rcmbtn102" href="./?_task=mail" onclick="return rcmail.command('switch-task','mail',this,event)"><span class="button-inner">Courriel</span></a>
<a class="button-addressbook" id="rcmbtn103" href="./?_task=addressbook" onclick="return rcmail.command('switch-task','addressbook',this,event)"><span class="button-inner">Carnet d'adresses</span></a>

<a class="button-settings" id="rcmbtn104" href="./?_task=settings" onclick="return rcmail.command('switch-task','settings',this,event)"><span class="button-inner">Paramètres</span></a>
<a class="button-logout" id="rcmbtn105" href="./?_task=logout" onclick="return rcmail.command('switch-task','logout',this,event)"><span class="button-inner">Déconnexion</span></a>
<span class="minmodetoggle"></span>
</div>
<img src="skins/larry/images/roundcube_logo.png" id="toplogo" border="0" alt="Logo" onclick="rcmail.command('switch-task','mail');return false;">
</div>

<br style="clear:both" />
</div>




<div id="mainscreen">

米奇。test@test.com

subs\u过滤器[\s\s]*r

您缺少
=
。我不会使用其他3个正则表达式中的任何一个,因为您不需要捕获标记之间的内容


注意,这将擦除
之前的所有内容,无论它们在同一html页面上相距多远。如果你想要一个更精确的正则表达式,那么就发布一个实际html的示例。

我认为你缺少了第一个
中的等号
=
。哦,是的,当然。谢谢但是哪一个是好的呢?试试第三个。我不知道nginx到底是如何工作的,但如果仍然不起作用,我建议
subs\u filter[\w\w]*?r它似乎不起作用。但是现在我已经修复了我的小错误,我将尝试使用一堆正则表达式。这不是取代了后面的一个吗?你不认为使用贪婪的
*
会把事情搞砸吗?默认情况下,
是否与nginx中的换行符匹配?这正是我想要的。删除从包含标题到排除主屏幕的所有内容。但很抱歉,你的规则似乎不起作用。@Jerry,我确实认为它太贪婪了。这就是为什么一个例子会更好。换行是一个很好的观点。我来调整一下。你的第一句话是什么意思?@Jerry是的。这正是Miche想要的。我用html编辑了我的问题。我要删除的是roundcube标头。