nginx 反代模块 sub_filter 如何替换单引号 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fantasts
V2EX    NGINX

nginx 反代模块 sub_filter 如何替换单引号

  •  1
     
  •   fantasts 2016-02-19 00:27:31 +08:00 8934 次点击
    这是一个创建于 3595 天前的主题,其中的信息可能已经有所发展或是发生改变。

    心好累,写出来不是通不过 nginx 的检测就是没效果。
    我想替换的内容里带有单引号',例如:'<img src=http'
    我先这么尝试 subfilter '<img src=http' ''<img src=https'' //错误<
    尝试改成正则 sub_filter '(.)img src=http' ''$1img src=https'’ r; //错误$
    _(:з」∠)
    不是支持正则么为啥$都错误了

    13 条回复    2018-05-09 13:18:58 +08:00
    rrfeng
        1
    rrfeng  
       2016-02-19 00:42:19 +08:00
    知道单引号有问题为撒用正则屏蔽了 < ……
    rrfeng
        2
    rrfeng  
       2016-02-19 00:43:30 +08:00
    哪里有单引号了……
    xuhaoyangx
        3
    xuhaoyangx  
       2016-02-19 00:46:12 +08:00
    还有其他一些在后边章节中有特殊用处的标点符号,在前面加 "\" 后,就代表该符号本身。比如:^, $ 都有特殊意义,如果要想匹配字符串中 "^" 和 "$" 字符,则表达式就需要写成 "\^" 和 "\$"。
    来自复制粘贴
    fantasts
        4
    fantasts  
    OP
       2016-02-19 02:26:43 +08:00
    @rrfeng
    @xuhaoyangx
    就算想植入一段统计代码都不知如何是好
    fantasts
        5
    fantasts  
    OP
       2016-02-19 02:32:21 +08:00
    @fantasts 大概有点明白了,大概解决了。
    demo
        6
    demo  
       2016-02-19 09:45:58 +08:00
    \'
    popok
        7
    popok  
       2016-02-19 09:48:56 +08:00
    @xuhaoyangx 这叫转义
    然而正则里面单引号是不需要转义的。

    还有 LZ 发帖把问题说清楚点
    xuhaoyangx
        8
    xuhaoyangx  
       2016-02-19 11:36:32 +08:00
    @popok 我知道转义
    fantasts
        9
    fantasts  
    OP
       2016-02-19 16:25:11 +08:00
    @popok
    不知道咋整
    例如:
    sub_filter '<div.*<div.*<iframe.*</iframe></div><div class="content">' '<div class="content">' r;
    报错:
    nginx: [emerg] invalid number of arguments in "sub_filter" directive in

    如何才能正确的使用正则而不报错呢。。。
    fantasts
        10
    fantasts  
    OP
       2016-02-19 17:28:01 +08:00
    @rrfeng
    @xuhaoyangx
    @demo
    @popok
    原来 sub_filter 不能使用正则替换,支持正则的是另外一个模块 subs_filter
    xuhaoyangx
        11
    xuhaoyangx  
       2016-02-19 17:55:26 +08:00
    @fantasts 那需要自己 add module
    jalena
        12
    jalena  
       2016-02-19 19:7:08 +08:00
    用转义符转义啊 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    liuyinltemp
        13
    liuyinltemp  
       2018-05-09 13:18:58 +08:00
    @fantasts 这个正则怎么写?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3171 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 12:09 PVG 20:09 LAX 04:09 JFK 07:09
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86