Мои пользователи могут отправить ссылки от популярных хостов файла как Rapidshare, Мегазагрузка, Hotfile и FileFactory. Я должен так или иначе узнать, от какого filehost они отправили ссылку, и используйте корректный класс для него соответственно.
Например, если бы я отправил ссылку Rapidshare в форме на моей веб-странице, то я должен так или иначе циклически повториться через каждый хост файла, который я позволяю, пока я не нахожу текст rapidshare.com
, затем я знаю, что пользователь отправил ссылку Rapidshare.
Возможно, пример PHP:
switch($_POST['link'])
{
case strstr($_POST['link'], 'rapidshare.com'):
// the link is a Rapidshare one
break;
case strstr($_POST['link'], 'megaupload.com'):
// the link is a Megaupload one
break;
case strstr($_POST['link'], 'hotfile.com'):
// the link is a Hotfile one
break;
case strstr($_POST['link'], 'filefactory.com'):
// the link is a Filefactory one
break;
}
Однако я знаю для факта, это не корректно, и я не использовал бы огромный оператор IF, если я могу помочь ему.
У кого-либо есть какое-либо решение этой проблемы?
При необходимости во мне для объяснения больше, что я могу попробовать, английский язык не является моим родным языком, таким образом, это довольно твердо.
Спасибо все.
Согласно извлечение имени хоста php - regex вы хотите убедиться, что вы проверяете www. часть eurl как parse_url может иногда возвращать и это.
$sentLink = trim($_POST['link']);
$host = array_shift( explode( '.', str_replace('www.', '', parse_url( $sentLink , PHP_URL_HOST )) ) );
switch($host)
{
case 'rapidshare.com':
echo "RS";
break;
case 'megaupload.com':
echo "MU";
break;
case 'hotfile.com':
echo "HF";
break;
case 'filefactory.com':
echo "FF";
break;
default:
echo "WTF! D:";
}
Да ладно, ребята, я использовал это:
$sentLink = trim($_POST['link']);
$host = parse_url($sentLink, PHP_URL_HOST);
switch($host)
{
case 'rapidshare.com':
echo "RS";
break;
case 'megaupload.com':
echo "MU";
break;
case 'hotfile.com':
echo "HF";
break;
case 'filefactory.com':
echo "FF";
break;
default:
echo "WTF! D:";
}
Впервые слышу о parse_url
:)