@Nik1712

Как с помощью regexp удалить все ссылки из текста?

Есть текст, внутри могут быть ссылки, классы и id любые, href любой. Нужно с помощью replace удалить теги a, но сохранить то, что внутри.
  • Вопрос задан
  • 2401 просмотр
Решения вопроса 1
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
var txt = "<a href='http://example.ru' class='link' id='link'>text link</a> some text <a href='http://example2.ru' class='link2' id='link2'>text link2</a>";
var re = new RegExp("<a[^>]+>(.+?)<\/a>", "gim");
var cleanTxt = txt.replace(re, "$1");
alert(cleanTxt);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
trushka
@trushka
Тут можно и без regExp: если текст - это содержимое какого-то существующего элемента на странице, то просто берём element.innerText.. Если откуда-то "извне" нам эта строка с тэгами приходит, можно типа
var el=document.createElement('div');
el.innerHTML={наша строка со ссылками};
{строка без ссылок}=el.innerText
а на jQuery ещё компактнее
$('</>{стока со ссылками}').text() // </> в начале строки, чтобы jQuery понял, что это фрагмент кода

Так просто быстрее браузеры соображают, чем проходят большие строки regExp'ами
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы