AngularJS从文本创建html/link/anchor(视图中的escape/unescape html)

Daa*_*aan 9 anchor hyperlink sanitize html-escape-characters angularjs

我有一个具有指定值的控制器:

$scope.post = 'please visit http://stackoverflow.com quickly';
Run Code Online (Sandbox Code Playgroud)

我的html中有一些文字:

<p>{{post}}</p>
Run Code Online (Sandbox Code Playgroud)

我想创建一个url的可点击链接(用锚标签包围它).

我试图将我的HTML更改为:

<p ng-bind-html="post | createAnchors"></p>
Run Code Online (Sandbox Code Playgroud)

以下是该问题的简化示例:

http://jsfiddle.net/T3fFt/4/

问题是,我怎样才能逃脱整个帖子文本,除了链接,它将被锚标签包围??

exc*_*lsr 20

我想你可以使用Angular的linky过滤器:https://docs.angularjs.org/api/ngSanitize/filter/linky

您可以像这样使用它:

<p ng-bind-html="post | linky"></p>
Run Code Online (Sandbox Code Playgroud)

您必须包含Angular的清理模块才能使用linky:

angular.module('myApp', [
    'ngRoute',
    'ngSanitize',
    'myApp.filters', 
    ...
Run Code Online (Sandbox Code Playgroud)