2014-12-06 54 views
1

我在前端使用AngularJS,聊天應用程序使用Socket.io。
當用戶發送的消息,其在UI越來越呈現如下:UI聊天應用程序中的可點擊鏈接

<p class="chat-msg">{{chat.msg}}</p> 

但如果用戶發送的任何鏈接我怎樣才能使它點擊?

一種方法是將消息傳遞給正則表達式,並檢查它是否包含鏈接並將它們放在標記中,並將該消息呈現在上面的標記中。
但是如果消息包含一些用戶嘗試將其發送給另一個用戶的html標記,那麼它將被替換爲html。
實施例:

User1: Show me your code in example.com 
User2: My code is as follows : <p>This is a simple <b>app</b</p> in example.com 
User3: Looks Good 

在這裏,在上面的代碼中僅example.com可點擊以及<p>標籤應顯示爲消息的一部分,而不是在UI呈現它的。
任何想法如何做到這一點?

由於提前

回答

0

你應該使用內置的linky過濾器(從ngSanitize模塊)。

<p class="chat-msg" ng-bind-html="chat.msg | linky"></p> 

但是要注意,example.com不是一個可鏈接的資源,因爲它必須與HTTP/HTTPS/FTP /郵寄地址開始。