The strip_source_suffix() fallbacks aren't catching all nbsp-separated publisher names. Adding a direct strrpos-based cleanup pass in the get_articles() method itself as a safety net. This operates on the already-decoded text returned by strip_source_suffix(). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>