0

我想将一个单词从其他字符串替换为我的正文内容。
为了实现这一点,我正在使用ngx.re.sgub ,但我遇到了一个奇怪的问题。ngx.re.gsub不处理魔术字符。

  • 例子 :

    content1 = "HiTestHello Test how are you Testall "
    _ssi = "Test"
    body = "$100.00"
    content2 = ngx.re.gsub(content1, _ssi, body)
    ngx.print(content2)
    

输出是

Hi.00lHelo .00 how are you .00all he.00llo .00 how are you .00all

而输出应该是:

Hi$100.00Hello .00 how are you .00all.

请让我知道我怎样才能做到这一点。

4

2 回答 2

0

在 ngx 正则表达式中$1$2, 等是要捕获的变量。尝试转义$字符:

body = "$$100.00"
于 2014-08-21T07:32:24.790 回答
0

body用函数包装也可以避免它:

content1 = "HiTestHello Test how are you Testall "
_ssi = "Test"
body = "$100.00"
content2 = ngx.re.gsub(content1, _ssi, function()
    return body
end, "o")
ngx.print(content2)
于 2016-10-31T06:58:57.810 回答