2016-08-01 60 views
1

我使用的角度來呈現一些HTML內容:在角模型屬性解析<img>標籤

<p class="description" ng-model="listing.Description"></p> 

當它呈現的內容就說明這是很好的文本內的圖像。

現在,我想查找<img>標籤並刪除其中的內容,因此它只會呈現文本。

例如:

<p>Hi this is Peter</p> 
<img src=jfj"></img> <!--------- This line should be removed --> 
<span>Span 4 </span> 

我怎樣才能做到這一點?

+0

請澄清你的問題.. – developer033

+0

我正在從服務HTML內容,它呈現的文字和一些圖片,但我不希望顯示的圖像,所以我想檢索沒有圖像的內容。看來我需要從那裏刪除標籤 –

+0

請分享一段HTML內容。 – developer033

回答

0

您可以使用過濾器和一些正則表達式去除<img>標記。下面的示例依賴於存在開始和結束標記。

angular.module('app', []) 
 
    .filter('removeImg', function($sce) { 
 
    return function(input) { 
 
     return $sce.trustAsHtml(input.replace(/\<img.*img\>/gi, '')); 
 
    } 
 
    }) 
 
    .controller('DemoCtrl', function() { 
 
    var _this = this; 
 
    _this.listing = { 
 
     Description: '<p>Hi this is Peter</p><img src=jfj"></img><span>Span 4 </span>' 
 
    }; 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular.min.js"></script> 
 
<div ng-app="app" ng-controller="DemoCtrl as dc"> 
 
    <p class="description" ng-bind-html="dc.listing.Description | removeImg"></p> 
 
</div>