[英]How to remove html tags from text in angular 2
我正在使用 rss 提要并从我的服务器获取 rss 提要,所以我正在发送 stringfy 数据,但是当我在我的 angular 2 应用程序中绑定它时,它会显示带有 html 标签的文本,因此我们如何删除这些标签。 我只想显示文字。
这是服务器代码:
exports.newspage=function(req,resp){
db.executeSql("select header,text,teaser from news_d",function(data,err){
if(err){
resp.writeHead(200,{"Content-Type":"text/html"});
resp.write("<html><head><title>500</title></head></html>");
}
else{
resp.writeHead(200,{"Content-Type":"x-application/json"});
resp.write(JSON.stringify(data));
}
resp.end();
});
};
app.get('/newspage', function(req, resp) {
emp.newspage(req,resp);
});
服务.ts:
gettagesnews(){
let headers = new Headers();
headers.append('x-access-token',this.token);
var options = new RequestOptions({headers: headers});
return this.http.get('http://services.com:9000/newspage/',options).map((res:Response) => res.json())
.catch((error:any) => Observable.throw(error.json().error || 'Server error'));
}
新闻.ts:
tagesnews:Array<TagesnewsList>;
this.newsauth.gettagesnews().subscribe((dailynews)=>{
this.tagesnews=dailynews;
});
html:
<div *ngFor="let daily of tagesnews">
<span style="font-size: 13px">{{daily.text}}</span> </button>
</div>
我得到了一些回应 像这样:
你只需要绑定html:
<div *ngFor="let daily of tagesnews">
<span style="font-size: 13px" [innerHTML]="daily.text"></span>
</div>
所有的[innerHTML]
答案都有实际呈现的 HTML 的内容......所以图像被加载,等等。如果你不想要那样,只有文本......你可以使用这样的转换方法:
stripHtml(html: string) {
var div = document.createElement("DIV");
div.innerHTML = html;
let cleanText = div.innerText;
div = null; // prevent mem leaks
return cleanText;
}
使用带有 regx 的替换方法从内容中删除不需要的模式。
content.replace(/<[^>]*>/g, '\n')
有两种处理方法。
1)像这样在你的html文件中使用innerHTML标签=
<div>
<pre [innerHTML]="description"></pre>
</div>
在这里,描述是包含带有 html 标签的数据的字段(<div>hi<br></br></div>)
2)第二种方法是将您的html标签数据转换为纯字符串,然后与相应的表单控件绑定。
比如:- formData['description'] = formData['description'].replace(/<[^>]*>/g, '');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.