blob: b25458d6d64b65961a66d4ce15a63cb3bd1e5fe9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
|
import {PipeTransform, Pipe} from '@angular/core';
import * as _ from 'lodash';
@Pipe({ name: 'highlight' })
export class HighlightPipe implements PipeTransform {
transform(text: string, search: string): string {
if(_.isNil(text)) return text;
let pattern = search.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&');
let regex = new RegExp(pattern, 'gi');
return search ? text.replace(regex, (match) => `<span class="highlight">${match}</span>`) : text;
}
}
|