Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 使用ng sanitize'绑定html;作为字符串的linky输出标记_Angularjs_Ng Bind Html_Ngsanitize - Fatal编程技术网

Angularjs 使用ng sanitize'绑定html;作为字符串的linky输出标记

Angularjs 使用ng sanitize'绑定html;作为字符串的linky输出标记,angularjs,ng-bind-html,ngsanitize,Angularjs,Ng Bind Html,Ngsanitize,如果我尝试将ng sanitize的linky过滤器与ng bind html指令一起使用,它将转换初始字符串 Well, <b>this is bold</b>, but this should become link http://www.example.com Lets test it! 好吧,这是粗体的,但这应该成为链接http://www.example.com 让我们测试一下! 对于一个将链接转换为html链接,但没有粗体文本的用户,它将作为包含标记的文本

如果我尝试将ng sanitize的
linky
过滤器与
ng bind html
指令一起使用,它将转换初始字符串

Well, <b>this is bold</b>, but this should become link http://www.example.com Lets test it!
好吧,这是粗体的,但这应该成为链接http://www.example.com 让我们测试一下!
对于一个将链接转换为html链接,但没有粗体文本的用户,它将作为包含标记的文本输出

这是

我的问题是,如果最初我有一个字符串,其中一些文本被标记和看起来像链接的文本包围,那么如何获得粗体文本和普通html链接的结果??

您可以编写一个自定义过滤器来执行
linky
的工作,并将标记放回。。。(这可能不是超级健壮的,我也不是正则表达式的高手,但如果它能满足所有需要,那么它就能完成任务。)

module.filter('linkyWithHtml',函数($filter){
返回函数(值){
var linked=$filter('linky')(值);

var replaced=linked.replace(/\/g,'>')。replace(/\/g,'为什么不用标记包装链接?因为我现在知道有一个链接。假设初始字符串是给定的。@Alec:我的答案似乎很好:
module.filter('linkyWithHtml', function($filter) {
  return function(value) {
    var linked = $filter('linky')(value);
    var replaced = linked.replace(/\&gt;/g, '>').replace(/\&lt;/g, '<');
    return replaced;
  };
});
<div ng-bind-html="expr | linkyWithHtml"></div>