From d89563ab404b933b07b8b10a9e32fcc9ee71357a Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Sat, 30 Nov 2024 21:17:45 +0100 Subject: Fix CSS selector for removing elements (#7037) fix https://github.com/FreshRSS/FreshRSS/issues/7014 Case of negative filter matching the positive filter --- app/Models/Entry.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'app/Models/Entry.php') diff --git a/app/Models/Entry.php b/app/Models/Entry.php index 747bebd71..6030451f2 100644 --- a/app/Models/Entry.php +++ b/app/Models/Entry.php @@ -842,8 +842,11 @@ HTML; $path_entries_filter = trim($path_entries_filter, ', '); foreach ($nodes as $node) { if ($path_entries_filter !== '') { - $filterednodes = $xpath->query((new Gt\CssXPath\Translator($path_entries_filter))->asXPath(), $node) ?: []; + $filterednodes = $xpath->query((new Gt\CssXPath\Translator($path_entries_filter, 'descendant-or-self::'))->asXPath(), $node) ?: []; foreach ($filterednodes as $filterednode) { + if ($filterednode === $node) { + continue 2; + } if (!($filterednode instanceof DOMElement) || $filterednode->parentNode === null) { continue; } -- cgit v1.2.3