Я хочу удалить теги HTML из строки. Например, предположим, что у нас есть строка:
<p> example ive got a string</P>
Как я могу написать функцию, которая удаляет <p><p>
и возвращает только "пример, у меня есть строка"?
Я хочу удалить теги HTML из строки. Например, предположим, что у нас есть строка:
<p> example ive got a string</P>
Как я могу написать функцию, которая удаляет <p><p>
и возвращает только "пример, у меня есть строка"?
безопасный способ заключается в том, чтобы полагаться на текстовое поле браузера, чтобы правильно избежать содержимого. Вот пример:
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>') );
Используйте функцию .text()
:
var text = $("<p> example ive got a string</P>").text();
Обновить. Как указывает Бриллианд ниже, если строка ввода не содержит никаких тегов, и вам не повезло, ее можно рассматривать как селектор CSS. Таким образом, эта версия более надежна:
var text = $("<div/>").html("<p> example ive got a string</P>").text();
Это пример получения изображения URL-адреса, из-за чего выйдете из тега p.
Попробуйте следующее:
$('#img').attr('src').split('<p>')[1].split('</p>')[0]
Вы можете использовать существующую функцию разделения
Один простой и изменчивый пример:
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 ""
В этом примере показано, как работает сплит.