Подтвердить что ты не робот

Как удалить теги HTML с помощью jQuery?

Я хочу удалить теги HTML из строки. Например, предположим, что у нас есть строка:

 <p> example ive got a string</P>

Как я могу написать функцию, которая удаляет <p><p> и возвращает только "пример, у меня есть строка"?

4b9b3361

Ответ 1

безопасный способ заключается в том, чтобы полагаться на текстовое поле браузера, чтобы правильно избежать содержимого. Вот пример:

function stripHTML(dirtyString) {
  var container = document.createElement('div');
  var text = document.createTextNode(dirtyString);
  container.appendChild(text);
  return container.innerHTML; // innerHTML will be a xss safe string
}

document.write( stripHTML('<p>some <span>content</span></p>') );
document.write( stripHTML('<script><p>some <span>content</span></p>') );

Ответ 2

Используйте функцию .text():

var text = $("<p> example ive got a string</P>").text();

Обновить. Как указывает Бриллианд ниже, если строка ввода не содержит никаких тегов, и вам не повезло, ее можно рассматривать как селектор CSS. Таким образом, эта версия более надежна:

var text = $("<div/>").html("<p> example ive got a string</P>").text();

Ответ 3

Это пример получения изображения URL-адреса, из-за чего выйдете из тега p.

Попробуйте следующее:

$('#img').attr('src').split('<p>')[1].split('</p>')[0]

Ответ 4

Вы можете использовать существующую функцию разделения

Один простой и изменчивый пример:

var str = '<p> example ive got a string</P>';
var substr = str.split('<p> ');
// substr[0] contains ""
// substr[1] contains "example ive got a string</P>"
var substr2 = substr [1].split('</p>');
// substr2[0] contains "example ive got a string"
// substr2[1] contains ""

В этом примере показано, как работает сплит.