Angular2 将纯文本转换为 url( anchor 链接)的方法

标签 angular typescript angular2-routing angular2-template angular2-directives

有时我有一个组件可以接收这样的文本:

text www.website.com

但如果它是一个链接,我想把它转换成一个 url。像这样。

text www.website.com

我读了这个SO answer这建议使用第三方库,例如 anchorme .有没有办法用 angular2 的方式来做?

最佳答案

使用简单的正则表达式修改 HTML 内容有很多问题。

这是一种使用 linkifyjs 的方法模块,你需要 npm install。请注意,输入被视为纯文本,而输出是 HTML 文本。

import { Pipe, PipeTransform } from '@angular/core';
import linkifyStr from 'linkifyjs/string';

@Pipe({name: 'linkify'})
export class LinkifyPipe implements PipeTransform {
  transform(str: string): string {
    return str ? linkifyStr(str, {target: '_system'}) : str;
  }
}

注意:如果您需要指定 target 属性,请添加例如。 {target: '_system'} 作为 linkifyStr 的第二个参数。

关于Angular2 将纯文本转换为 url( anchor 链接)的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39276617/

相关文章:

angular - Angular 的 HTTP 请求中不包含特定参数

javascript - 后端和前端之间模型的反序列化和序列化模型(Angular 6)

javascript - 在 Angular 2 中对 html 表的列进行排序

javascript - 类型错误 : Cannot read property 'push' of undefined-IONIC2

node.js - typescript 导入文件夹

javascript - Angular2,工厂守卫可能吗?

javascript - 如何使用 javascript、使用路由器和辅助 socket 重定向 Angular2 应用程序

inheritance - Dart :用查询替换ViewChildren

reactjs - react + typescript : Defining EventHandler

node.js - Angular2 POST Observable 请求返回不可读的 JSON 对象