我正在为有角度的应用程序开发聊天功能。我想检测输入文本中的URL,并在发送时将其显示为可点击的链接。
我尝试使用
<div class="chatbox-text" ng-bind-html="chatbox-text | linky:'_blank'">{{ message.content }}</div>
但似乎不起作用。
有什么建议吗?
我的要求是:
User1:www.example.com,单击“发送”。它应显示为User2的可点击URL。
答案 0 :(得分:1)
您正在使用看起来像AngularJS库的linky指令。
我建议您使用linkify-it,效果很好。
编辑:刚刚注意到问题被标记为angular
,但是代码是AngularJS。如果确实是Angular(如2+),请使用上面的库并绑定到innerHTML
:
<div [innerHTML] = "msg | linkifyDirective | sanitizeHTML" ></div>
请注意,我组成了指令名称,这只是为了向您发送指令。或者,您可以不使用指令而在函数中链接和清除消息,但这会带来性能成本。
如果您的项目确实是AngularJS,请更改标签。
答案 1 :(得分:0)
您是否曾尝试使用http开头发送http://example.com之类的消息?因为www.example.com不是链接
答案 2 :(得分:0)
这种显示文本的逻辑怎么样?
将输入字符串分割为多个单词
创建一个细分受众群数组,该细分受众群具有以下属性:value和isLink
玩得开心!