forked from treehouse/mastodon
[Glitch] Make whole-word filter regex consistent between Ruby and JS
Port front-end part of 20fefdb714
to glitch-soc
signup-info-prompt
parent
debc6544d9
commit
7cb7ecaf7e
|
@ -47,7 +47,18 @@ export const regexFromFilters = filters => {
|
||||||
|
|
||||||
return new RegExp(filters.map(filter => {
|
return new RegExp(filters.map(filter => {
|
||||||
let expr = escapeRegExp(filter.get('phrase'));
|
let expr = escapeRegExp(filter.get('phrase'));
|
||||||
return filter.get('whole_word') ? `\\b${expr}\\b` : expr;
|
|
||||||
|
if (filter.get('whole_word')) {
|
||||||
|
if (/^[\w]/.test(expr)) {
|
||||||
|
expr = `\\b${expr}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (/[\w]$/.test(expr)) {
|
||||||
|
expr = `${expr}\\b`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return expr;
|
||||||
}).join('|'), 'i');
|
}).join('|'), 'i');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue