diff options
Diffstat (limited to 'app')
| -rw-r--r-- | app/Models/BooleanSearch.php | 2 | ||||
| -rw-r--r-- | app/Models/Search.php | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/app/Models/BooleanSearch.php b/app/Models/BooleanSearch.php index 5cfcd9342..0a50464de 100644 --- a/app/Models/BooleanSearch.php +++ b/app/Models/BooleanSearch.php @@ -233,7 +233,7 @@ class FreshRSS_BooleanSearch { private function parseOrSegments(string $input): void { $input = trim($input); - if ($input == '') { + if ($input === '') { return; } $splits = preg_split('/\b(OR)\b/i', $input, -1, PREG_SPLIT_DELIM_CAPTURE) ?: []; diff --git a/app/Models/Search.php b/app/Models/Search.php index 52b000344..404b8bfac 100644 --- a/app/Models/Search.php +++ b/app/Models/Search.php @@ -73,6 +73,7 @@ class FreshRSS_Search { public function __construct(string $input) { $input = self::cleanSearch($input); + $input = self::unescape($input); $this->raw_input = $input; $input = $this->parseNotEntryIds($input); @@ -662,4 +663,9 @@ class FreshRSS_Search { } return trim($input); } + + /** Remove escaping backslashes for parenthesis logic */ + private static function unescape(string $input): string { + return str_replace(['\\(', '\\)'], ['(', ')'], $input); + } } |
