diff --git a/src/lib/philomena/search/QueryLexer.ts b/src/lib/philomena/search/QueryLexer.ts index bfc0edf..5099cf6 100644 --- a/src/lib/philomena/search/QueryLexer.ts +++ b/src/lib/philomena/search/QueryLexer.ts @@ -41,11 +41,13 @@ export class QuotedTermToken extends Token { } static decode(value: string): string { - return value.replace(/\\([\\"])/g, "$1"); + return value + .replaceAll(/\\([\\"])/g, "$1") + .replaceAll(/^"|"$/g, ''); } static encode(value: string): string { - return value.replace(/[\\"]/g, "\\$&"); + return `"${value.replaceAll(/[\\"]/g, "\\$&")}"`; } }