Как декодировать html текст

У меня приходит текст из api в таком виде <span class="searchmatch">ES</span>, как этот текст вставить в html что бы убрать теги и оставить только слово


Ответы (2 шт):

Автор решения: Denis640Kb

Если без регулярных выражений, то можно так:

    let z = '<span class="searchmatch">ES</span>';
    let z1 = z.split('>')[1].split('<')[0];
    document.getElementById('text').innerText = z1;
<div id="text"></div>

→ Ссылка
Автор решения: humster_spb

Немного доработанный вариант @Denis640Kb - теперь в строке может быть какое угодно количество самых разных тегов:

let str = '<span class="searchmatch">ES5</span><br /><p class="searchmatch">ES6</p><hr /><div class="searchmatch">ES7</div><input type="text" />';

// str.split('>') возвращает нам массив из строки, разбитой на элементы по '>'
let result = str.split('>').reduce((acc,item) => { // проходим по этому массиву
  if(item.indexOf('<') != -1 && item.indexOf('<') != 0) { // проверяем, что символ '<' есть в элементе и это не открывающий, а закрывающий тег
    return acc.concat(item.split('<')[0]); // "откусываем" от элемента то, что идёт до '<' - это и есть нужный нам текст; помещаем его в массив-аккумулятор
  }
  return acc; // возвращаем массив с текстом
}, []);

// в цикле выводим текст из массива в HTML
result.forEach((item) => document.getElementById('text').innerText += item+'\n');
<div id="text"></div>

→ Ссылка