V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
hopewinn
V2EX  ›  NGINX

lua 在 nginx 的变量,大神路过帮我看看,我写的不对。

  •  
  •   hopewinn · 2016-10-26 16:00:53 +08:00 · 2726 次点击
    这是一个创建于 2955 天前的主题,其中的信息可能已经有所发展或是发生改变。

    获取<q>aaa</q>里面的 aaa 当成变量 s 的变量值<q></q>里面的值是随机变的,

    s = string.gsub("<q>aaa</q>","<q>(.*)./q>","%1")

    接着把把 bbb 替换成 s 的变量值

    d = string.gsub("<w>bbb</w>","<w>(.*)</w)","<w>" .. s .. "</w>")

    理论上应该是没用的,只是在 lua 上写错误的,大神帮帮小弟。在此谢过~

    3 条回复    2016-10-26 20:24:43 +08:00
    hopewinn
        1
    hopewinn  
    OP
       2016-10-26 16:39:20 +08:00
    s = string.gsub("<q>aaa</q>","<q>(.*)./q>","%1")
    d = string.gsub("<w>bbb</w>","<w>(.*)</w","<w>" .. s .. "</w>")
    不好意思 多个)号,这样是对的,能显示的出,
    但是用到 nginx 的时候
    s = string.gsub(_body,"<title>(.*)</title>","%1")
    _body = string.gsub(_body,"<div class=\\"block_title\\">我(.*)势</div>","<div class=\\"block_title\\">" .. s .. "</div>")

    出错!!
    然后,使用自己定义的,是对的!我晕了哦
    s = "aaaa"
    _body = string.gsub(_body,"<div class=\\"block_title\\">我(.*)势</div>","<div class=\\"block_title\\">" .. s .. "</div>")
    hopewinn
        2
    hopewinn  
    OP
       2016-10-26 20:05:50 +08:00
    问题已解决。
    knightdf
        3
    knightdf  
       2016-10-26 20:24:43 +08:00
    > b = "<w>bbb</w>"
    > string.gsub("<q>aaa</q>", "<q>(.-)</q>", function(s) print(b:gsub("(<w>)(.-)(</w>)", "%1"..s.."%3")) end)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2783 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 15:36 · PVG 23:36 · LAX 07:36 · JFK 10:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.