Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | 12x 12x 45x 14x 14x 18x 14x 18x 31x | import { Pipe, PipeTransform } from '@angular/core';
/**
* inserts highlighting markup into the text string
* at the occurrences of the search string.
*/
@Pipe({ name: 'ishHighlight' })
export class HighlightPipe implements PipeTransform {
transform(text: string, search: string): string {
if (search && text) {
let pattern = search.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&').toLowerCase();
pattern = pattern
.split(' ')
.filter(t => t.length > 0)
.join('|');
const regex = new RegExp(pattern, 'gi');
return text.replace(regex, match => `<span class="searchTerm">${match}</span>`);
} else {
return text;
}
}
}
|