Извлечение текста из строки содержащей HTML

307
03 июля 2017, 20:31

В функцию на обработку поступает текст, к примеру вот такой:

привет здесь <a href="site.ru">http://site.ru</a> есть ссылка

Как можно обработать текст, чтобы результат получился такой

привет здесь http://site.ru есть ссылка

То есть мы берем ссылку, и отбрасываем от неё HTML тэги, оставляя сам текст ссылки.

Answer 1

Это не стоит делать регулярными выражениями, с этим прекрасно справляется DOM.

// откуда-то получается текст 
var text = document.querySelector(".text").innerHTML; 
 
// Создаём фейковый элемент 
var fakeDiv = document.createElement("div"); 
// Присваиваем innerHTML 
fakeDiv.innerHTML = text; 
 
// Извлекаем результат 
console.log(fakeDiv.innerText);
<div class="text">привет здесь <a href="site.ru">http://site.ru</a> есть ссылка</div>

Answer 2

var el = $('#src'); 
var text = el.text(); 
console.log(text);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<div id="src">привет <b>здесь</b> <a href="site.ru">http://site.ru</a> есть ссылка</div>

READ ALSO
Плавная анимация

Плавная анимация

Добрый вечер! Возник вопрос, как сделать плавный скроллингТ

193
Что помешало parse() обработать форму?

Что помешало parse() обработать форму?

Разбирая вот этот туториал (автор Manuel Kiessling), наткнулся на ошибку при выполнении финального примера; описание этой ошибки и действия, которые...

276
Логические операторы || vs &amp;&amp;

Логические операторы || vs &&

Подскажите, пожалуйста, почему выводит в консоль 1,2,3,4? В моем понимании, должны быть только 3 и 4 (первым срабатывает && где выполняется...

146