Страница 1 из 1

TOLOWER()

Добавлено: 09 апр 2015, 12:42
1g0r
В астериске есть функция TOLOWER которая приводит строку к нижнему регистру, но это работает только для латиницы и не затрагивает кириллицу.

Есть ли другие варианты привести строку к нижнему регистру?

Re: TOLOWER()

Добавлено: 09 апр 2015, 12:45
ded
System(echo 'ESEMPIO' | tr '[:upper:]' '[:lower:]')

тоже работает только на латинице. :(
Наверняка TOLOWER() тоже использует системную команду tr для преобразования. Но вот хелп мне показывает, что можно создать кастомный SET с кириллицей и использовать tr
tr --help
Usage: tr [OPTION]... SET1 [SET2]
Translate, squeeze, and/or delete characters from standard input,
writing to standard output.

-c, -C, --complement use the complement of SET1
-d, --delete delete characters in SET1, do not translate
-s, --squeeze-repeats replace each input sequence of a repeated character
that is listed in SET1 with a single occurrence
of that character
-t, --truncate-set1 first truncate SET1 to length of SET2
--help display this help and exit
--version output version information and exit

SETs are specified as strings of characters. Most represent themselves.

Re: TOLOWER()

Добавлено: 09 апр 2015, 13:10
Vlad1983
проще через AGI

Re: TOLOWER()

Добавлено: 14 апр 2015, 00:11
1g0r
Не совсем понимаю механизм передачи результата из AGI обратно в диалплан...
Ну вызвал я AGI, а как получить результат то?

да да.. с AGI только начинаю эксперименты... пока результат получать не требовалось...

Re: TOLOWER()

Добавлено: 14 апр 2015, 00:30
ded
В директории /var/lib/asterisk/agi-bin/ обычно есть готовые, можно посмотреть как устроены.
Для отладки включать
CLI> agi set debug on

Найдите примеры в сети, будет понятней.

Re: TOLOWER()

Добавлено: 14 апр 2015, 07:53
virus_net