2015-12-08 7 views
0

Я получаю HTML-теги в своем ответе, которые я хочу удалить или проанализировать.Удалить HTML-тег из строки в AngularJS

Я получил выход как

<sometext> 

, но я хочу только выход

sometext 

В представлении, я использовал следующий код

<div ng-bind-html="description"></div> 

И в контроллере

$scope.description = '&lt;sometext&gt;'; 
+0

можно использовать просто заменить "<" and ">"? – AlainIb

+1

Извините, я перечитываю ваш вопрос. Вы хотите, чтобы имя тега было окончательным? –

ответ

3

Я бы с прикованным регулярное выражение замены, как это сделать, что вы не удалите их «/», которые из тегов «<>»:

var a = '<tag>hello</tag>' 
var b = a.replace(/\/>/g,'') // Remove self-closing tags right part that look like "/>" as in "<Tag/>" 
     .replace(/<\//g,'') // Remove "</" as in "</closing>" 
     .replace(/[<>]/g,''); // Remove the rest "<" or ">" 
console.log(b) // taghellotag 

Этот код еще не совершенны, как Безразлично 't look for < и > использовали вне тегов.

Вот скрипка:

var a= '<tag>hello</tag>' 
 
var b = a.replace(/\/>/g,'') 
 
     .replace(/<\//g,'') 
 
     .replace(/[<>]/g,''); 
 
console.log(b)

+0

благодарим вас за ответ, но не работает –

+0

Скажите, пожалуйста, как использовать фильтр здесь, чтобы удалить теги. –

+0

Можем ли мы это сделать без использования регулярных выражений? Как Html.fromHtml() в android? –

1

Я до сих пор не уверен, что вы после этого, но если вы ищете в тексте только содержание вашего HTML, это должно сделать это (я не уверен, нуждается ли она в полной мере JQuery или работает с JQuery Lite, хотя, у меня есть JQuery в моем проекте):

/* 'stripHTML': returns the concatenated text nodes of the html string provided */ 
MyApp.filter ('stripHTML', [function() { 
    return function (stringWithHtml) { 
     var strippedText = $('<div/>').html(stringWithHtml).text(); 
     return strippedText; 
    }; 
}]); 

это (Custo m) угловой фильтр, поэтому вы знаете, как его использовать. Если это не то, что вы хотели, то извинения.

+0

Это самый умный ответ –

1

Фильтры используются для изменения данных в AngularJS. Мы можем создать собственный собственный фильтр, чтобы удалить теги HTML из строки.

http://www.codeexpertz.com/blog/angularjs/remove-html-tags-angularjs-using-user-defined-filters-example-and-demo Посмотрите на Demo и Пример кода

Фильтр Код:

return text ? String(text).replace(/<[^>]+>/gm, '') : ''; 
Смежные вопросы