【问题标题】:How to remove html tags from text in angular 2如何从角度2中的文本中删除html标签
【发布时间】:2017-08-13 06:45:04
【问题描述】:

我正在使用 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);

});

service.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'));
  }

news.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>

我收到了一些 的回复,如下所示:

sample text

【问题讨论】:

标签: javascript node.js angular


【解决方案1】:

你只需要绑定html:

<div *ngFor="let daily of tagesnews">
   <span style="font-size: 13px" [innerHTML]="daily.text"></span>
</div>

【讨论】:

【解决方案2】:

有两种处理方式。

1) 在你的 html 文件中使用 innerHTML 标签 像这样 =

<div>
      <pre [innerHTML]="description"></pre>
</div>

这里的描述是保存带有html标签的数据的字段(&lt;div&gt;hi&lt;br&gt;&lt;/br&gt;&lt;/div&gt;)

2) 第二种方法是将您的 html 标签数据转换为纯字符串,然后与相应的表单控件绑定。

喜欢 :- formData['description'] = formData['description'].replace(/&lt;[^&gt;]*&gt;/g, '');

【讨论】:

    【解决方案3】:

    所有[innerHTML] 的答案都包含实际呈现的 HTML 内容...所以加载图像等像这样:

    stripHtml(html: string) {
        var div = document.createElement("DIV");
    
        div.innerHTML = html;
    
        let cleanText = div.innerText;
    
        div = null; // prevent mem leaks
    
        return cleanText;
    }
    

    【讨论】:

      【解决方案4】:

      使用 regx 的 replace 方法从内容中删除不需要的模式。

      content.replace(/<[^>]*>/g, '\n')
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-22
        • 2014-09-25
        • 2016-04-06
        • 2019-03-04
        • 1970-01-01
        相关资源
        最近更新 更多