Зачем так сложно? Может так? https://regex101.com/r/kWl1vb/1
Или так http:\/\/(.*?)$
В зависимости от того нужен вам только .png на конце или и другие изображения тоже
Для правильного вопроса надо знать половину ответа
Потому что если тупо скопипастить код, извлекающий имя хоста из URL, то этот код будет именно извлекать имя хоста и ничего больше. В коде даже переменная названа $host. preg_match('@^https?://(.*)$@', $url, $matches)