Skip to content

Commit f54abcc

Browse files
committed
Check host suffix instead of whole host in extractor factory
1 parent a247f4a commit f54abcc

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

src/ExtractorFactory.php

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)