Блок предоставляет хелперы для манипуляций с данными строчного типа.
| Элемент | Способы использования | Описание | 
|---|---|---|
| escape | JS | Набор методов для экранирования (эскейпинга) управляющих символов XML и HTML. | 
| Элемент | Имя | Тип или возвращаемое значение | Описание | 
|---|---|---|---|
| escape | xml( {String} str) | {String} | Служит для экранирования управляющих символов XML. | 
| html( {String} str) | {String} | Служит для экранирования управляющих символов HTML. | |
| attr( {String} str) | {String} | Служит для экранирования управляющих символов в HTML и XML атрибутах. | 
Блок реализован в технологиях:
vanilla.jsescapeЭлемент предоставляет объект, содержащий набор методов для экранирования (эскейпинга) управляющих символов XML и HTML.
xmlСлужит для экранирования управляющих символов XML. Обрабатываются символы &, <, >.
Принимаемые аргументы:
str {String} – строка для обработки. Обязательный аргумент. Возвращаемое значение: {String}. Строка с экранированными управляющими символами.
htmlСлужит для экранирования управляющих символов HTML. Является синонимом метода xml.
attrСлужит для экранирования управляющих символов в HTML и XML атрибутах. Обрабатываются управляющие символы ", \, ', &, <, >.
Принимаемые аргументы:
str {String} – строка для обработки. Обязательный аргумент. Возвращаемое значение: {String}. Строка с экранированными управляющими символами.
Например, в блоке common.blocks/select библиотеки bem-components, strings__escape используется для экранирования управляющих символов в свойстве value HTML-элемента:
_createControlHTML : function(name, val) {
        // Using string concatenation to not depend on template engines
        return '<input ' +
            'type="hidden" ' +
            'name="' + name + '" ' +
            'class="' + this.buildClass('control') + '" ' +
            'value="' + escape.attr(typeof val === 'object'? JSON.stringify(val) : val) + '"/>';
    }