QNext. Макросы encodeURI/decodeURI
Макрос encodeURI заменяет некоторые символы в строке на соответствующие UTF8 последовательности, для использования этой строки например в ссылках.
Пример использования:
!{encodeURI|
text: http://domain.com/?text=my text;
}
На выходе получим текст http://domain.com/?text=my%20text, как видите в ссылке пробел заменился последовательностью %20. Макрос делает тоже самое, что и JavaScript функция encodeURI.
Если вам необходимо закодировать всю строку целиком, включая символы url протокола(:, / и другие), вам необходимо использовать макрос encodeURI с параметром component:
!{encodeURI|
text: http://domain.com/?text=my text;
component;
}
В этом случае на выходе получим текст: http%3A%2F%2Fdomain.com%2F%3Ftext%3Dmy%20text. Макрос делает тоже самое, что и JavaScript функция encodeURIComponent.
Макрос decodeURI имеет те же параметры что и encodeURI, и выполняет ровно противоположное действие:
!{decodeURI|
text: http%3A%2F%2Fdomain.com%2F%3Ftext%3Dmy%20text;
component;
}
defaultValue
Если параметр text пустой, вы можете показать значение по умолчанию, передав его в параметре defaultValue:
!{decodeURI|
text: ${localVar.text};
defaultValue: Пусто
}