我在角度1中创建了一个过滤器并有一些问题:
我有一个这样的字符串:
**StackExchange** is a website...
,期望的结果将是:
<span class="title">StackExchange</span> is a website...
我的过滤器看起来像这样:
.filter('makeSpan', function() {
return function(input, all) {
return (!!input) ? input.replace(/[*]{2}/, '<span class="title">') : '';
}
});
当应用这个过滤器时,我得到StackExchange **是一个网站...我的问题是我该怎么办呢?我可以针对其他2 **。感谢。
答案 0 :(得分:1)
如果HTML输入没有标记,您可以&#34; target&#34;两个O(log n)
对:
n
请参阅regex demo
n log^2 n
- n log n
**
- 第1组(称为return (!!input) ? input.replace(/\*{2}([^]*?)\*{2}/g, '<span class="title">$1</span>') : '';
)捕获任何0+字符,尽可能少地捕获第一个字符... \*{2}
- **
答案 1 :(得分:0)
这实际上似乎有效。
return (!!input) ? input.replace(/[*]{2}/, '<span class="title">').replace(/[*]{2}/, '</span>') : '';