Welcome! Log In Create A New Profile

Advanced

Аналог модификатора g для map

rba
July 27, 2016 03:37AM
Есть ли возможность сделать c помощью map или еще каких-нибудь директив преобразование типа
echo "a1=1&a2=2&a3=3" | sed 's/&/ AND /g'
при том что кол-во переменных неизвество

Я нашел тему 2014 где Maxim Dounin что it's not suppot
http://nginx.2469901.n2.nabble.com/Use-g-global-regex-modifier-in-map-td7590975.html
но вдруг за два года появилось изящное решение?

Вариант с perl модулем не устрайвает.

У меня конечно возникла мысль накопипастить что-то типа
map $args $filters_stady2 {
default "args";
"~*(?<tmp0>[a-zA-Z0-9_+-=,.]+)&(?<tmp1>[a-zA-Z0-9_+-=,.&]+)" "$tmp0 AND $tmp1";
}

map $filters_stady2 $filters_stady3 {
default "$filters_stady2";
"~*(?<tmp0>[a-zA-Z0-9_+-=,. ]+)&(?<tmp1>[a-zA-Z0-9_+-=,.&]+)" "$tmp0 AND $tmp1";
}

map $filters_stady3 $filters_stady4 {
default "$filters_stady3";
"~*(?<tmp0>[a-zA-Z0-9_+-=,. ]+)&(?<tmp1>[a-zA-Z0-9_+-=,.&]+)" "$tmp0 AND $tmp1";
}
...
до предполагаемого максимального кол-ва переменных
а потом использовать $filters_stadyПоследний, но
Может быть есть возможность написать это компактней?
Subject Author Posted

Аналог модификатора g для map

rba July 27, 2016 03:37AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 82
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready