@@ -18,17 +18,14 @@ class ExtractorFactory
1818 'snipplr.com ' => Adapters \Snipplr \Extractor::class,
1919 'play.cadenaser.com ' => Adapters \CadenaSer \Extractor::class,
2020 'ideone.com ' => Adapters \Ideone \Extractor::class,
21- 'github.com ' => Adapters \Github \Extractor::class,
2221 'gist.github.com ' => Adapters \Gist \Extractor::class,
23- 'en.wikipedia.org ' => Adapters \Wikipedia \Extractor::class,
24- 'es.wikipedia.org ' => Adapters \Wikipedia \Extractor::class,
25- 'gl.wikipedia.org ' => Adapters \Wikipedia \Extractor::class,
22+ 'github.com ' => Adapters \Github \Extractor::class,
23+ 'wikipedia.org ' => Adapters \Wikipedia \Extractor::class,
2624 'archive.org ' => Adapters \Archive \Extractor::class,
2725 'sassmeister.com ' => Adapters \Sassmeister \Extractor::class,
2826 'facebook.com ' => Adapters \Facebook \Extractor::class,
2927 'instagram.com ' => Adapters \Instagram \Extractor::class,
3028 'imageshack.com ' => Adapters \ImageShack \Extractor::class,
31- 'imagizer.imageshack.com ' => Adapters \ImageShack \Extractor::class,
3229 'youtube.com ' => Adapters \Youtube \Extractor::class,
3330 'twitch.tv ' => Adapters \Twitch \Extractor::class,
3431 ];
@@ -43,9 +40,13 @@ public function __construct(?array $settings = [])
4340 public function createExtractor (UriInterface $ uri , RequestInterface $ request , ResponseInterface $ response , Crawler $ crawler ): Extractor
4441 {
4542 $ host = $ uri ->getHost ();
46- $ host = str_replace ( ' www. ' , '' , $ host ) ;
43+ $ class = $ this -> default ;
4744
48- $ class = $ this ->adapters [$ host ] ?? $ this ->default ;
45+ foreach ($ this ->adapters as $ adapterHost => $ adapter ) {
46+ if (substr ($ host , -strlen ($ adapterHost )) === $ adapterHost ) {
47+ $ class = $ adapter ;
48+ }
49+ }
4950
5051 /** @var Extractor $extractor */
5152 $ extractor = new $ class ($ uri , $ request , $ response , $ crawler );
0 commit comments