因此,我使用它来替换来自Nginx服务器响应页面的HTML输出。为了使value =“*”HTML标签为空。Lua Nginx替换HTML输出
问题是我在Lua替换字符串之后不断丢掉我的HTML的末尾,并且在引号之后,在同一行中删除了剩余的HTML。
Lua代码:
body_filter_by_lua_block {
local body = ngx.arg[1] --Put body into local var
local htmlvaluetomakeempty = "id=\"username\" value="
local loginpagematch = ngx.re.match(body, "" .. htmlvaluetomakeempty .. "\"(?:.*)\"") --Search through body to see if our html match is found
if loginpagematch then --If not empty
body = ngx.re.gsub(body, "" .. htmlvaluetomakeempty .. "\"(?:.*)\"", "" .. htmlvaluetomakeempty .. "\"\"") --.. loginpagematch["match"])
ngx.arg[1] = body
end
}
HTML代码的Lua将更换:
的Lua已经运行,并修改正文内容输出看起来像这样后
问题是这样的HTML代码也被一个未知的原因
class="validate-username" size="25"
删除它成功地使id="username" value=""空的,但我失去什么都HTML后也来了,我不知道为什么。
2016-11-12
C0nw0nk
+2
大概非贪婪匹配,需要在GSUB:'“\”(?:?*)\ “”' –
+0
谢谢你是的,你是正确的,只是修改我的正则表达式来匹配和解决问题:D <3 –