我的JSON
中有一系列内容,其中包含URLs
作为文字。我想找到并用链接替换那些文本URLs
。实际发生了什么?它确实将<a>
标记和href=""
中的正确网址替换为网址,但仍将此<a>
标记呈现为文字而不是HTML
urlifyContent(){
let urlRegex =/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
for (let index = 0; index < this.message.Content.length; ++index){
this.message.Content[index] = this.message.Content[index].replace(urlRegex,`"<a href='$1'target='_blank'>$1</a>"`);
}
}
答案 0 :(得分:3)
根据您的评论,您使用{{message.Content}}
绑定使用urlifyContent()
方法创建的html。这不起作用,因为{{}}
会将值解析为字符串,而不是HTML。
要向页面添加HTML,您应该使用[innerHTML]
指令:
<div [innerHTML]="message.Content"></div>
但是,值得一提的是,这不会解析HTML
代码段中存在的任何角度组件或指令或绑定。它应该只是简单的html