public function getHash($url)
    {
        switch (parse_url($url)['host']) {
            case 'www.youtube.com':
                // https://www.youtube.com/watch?v=Vhx_wC1pve8
                parse_str(parse_url($url)['query'], $result);

                return $result['v'];
                break;
            case 'dai.ly':
            case 'vimeo.com':
            case 'youtu.be':
                // https://dai.ly/x97qvv
                // https://vimeo.com/8914294
                // https://youtu.be/Vhx_wC1pve8
                return ltrim(parse_url($url)['path'], '/');
                break;
            case 'www.dailymotion.com':
                // https://www.dailymotion.com/playlist/xpsn5_giorgiopao_tango-argentino/1#video=x5uvup
                if (strpos(parse_url($url)['path'], 'playlist') !== false) {
                    parse_str(parse_url($url)['fragment'], $result);

                    return $result['video'];
                }

                // https://www.dailymotion.com/video/x5232zo_jaguar-i-pace-concept-2016_auto
                // https://www.dailymotion.com/video/x5s849a
                $temp = ltrim(strrchr(parse_url($url)['path'], '/'), '/');
                if (stripos($temp, '_')) {
                    return strstr($temp, '_', true);
                }

                return $temp;
                break;
            case 'giphy.com':
                // https://giphy.com/gifs/030tango-tango-argentine-uGrH3htu5xFW8
                $result = ltrim(strrchr(parse_url($url)['path'], '/'), '/');
                if (strpos($result, '-') !== false) {
                    return ltrim(strrchr($result, '-'), '-');
                }

                return $result;
                break;
            case 'gist.github.com':
            case 'twitter.com':
            case 'www.argus360.fr':
                // https://gist.github.com/vovadocent/7b4a58d7d9e8abb3c68dd82607c2bbf0
                // https://twitter.com/TangoZoneOrg/status/858612556533051392
                // https://www.argus360.fr/viewer/share/3e7802c1cd69f08f2a3bae389816ece6?res=1920x1080&vdp=off
                return ltrim(strrchr(parse_url($url)['path'], '/'), '/');
                break;
            case 'www.car360app.com':
                // https://www.car360app.com/viewer/portable.php?spin=7a8fb5ac7ba0eee31a9e86eff6682bf2&ZoomButtons=off&ZoomScroll=off&TagsList=off&FullscreenButton=off&res=640x360
                parse_str(parse_url($url)['query'], $result);

                return $result['spin'];
                break;
            default:
                return null;
        }
    }