Как удалить HTML-теги из текстовой области с помощью JavaScript - PullRequest
2 голосов
/ 08 января 2011

Я загружаю текст из базы данных, но я хотел бы удалить из него код ссылки html с помощью JavaScript.

Допустим, текстовая область сейчас отображает:

<a rel="nofollow" href="http://stackoverflow.com//questions/ask">http://stackoverflow.com//questions/ask</a> - good page 

и я хочу, чтобы это отобразилось:

http://stackoverflow.com//questions/ask - good page

Есть ли что-нибудь легковесное, которое я мог бы использовать для нескольких ссылок в одной и той же области?

Ответы [ 3 ]

8 голосов
/ 08 января 2011

Вдохновленный этим ответом , используйте возможности анализа HTML в браузере, чтобы сделать это правильно.

function strip(html)
{
   var tmp = document.createElement("DIV");
   tmp.innerHTML = html;
   return tmp.textContent||tmp.innerText;
}
jQuery('#textareaid').text(function(index, text){
 return strip(text);
});

Вот JSFiddle этого работает: http://jsfiddle.net/Au95R/1/

(отредактировано для использования более чистого JS)

1 голос
/ 08 января 2011

вы можете сделать это с помощью регулярных выражений. здесь - вопрос о переполнении стека, и ответ хорошо объясняет это

1 голос
/ 08 января 2011

Вы можете использовать strip_tag() как в PHP: http://phpjs.org/functions/strip_tags:535

textareacontent = strip_tags(textareacontent, "<b><i>"); // remove all HTML except <b> and <i>.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...