Распознать ссылку

Тема в разделе "Как сделать...", создана пользователем kreator, 11 окт 2012.

  1. kreator

    kreator Создатель

    Заблокирован
    Регистр.:
    18 июн 2011
    Сообщения:
    113
    Симпатии:
    6
    Есть форма в которую пользователи вставляют ссылку. В зависимости от того что это за ссылка дальше идет ее обработка. Т.е. если это ссылка на картинку - то применяем один вид обработки ее (например скачиваем, изменяем размер и т.д.), если это ссылка на видео youtube - сохраняем и дальше выводим в плеере видео. Если это просто ссылка на другой сайт - то и ничего не далаем с ней.
    Какой метод лучше применить, чтоб разпознать эти 3 типа ссылок?
     
  2. Extalionez

    Extalionez Клоун

    Заблокирован
    Регистр.:
    21 авг 2008
    Сообщения:
    368
    Симпатии:
    185
    Ну для youtube юзаем простую регулярку(Перейти по ссылке:
    PHP:
    <?php
    $image_url 
    "http://p.twimg.com/AW2-vIUCAAE_1FN.png";
     
      
    $ch curl_init();
      
    curl_setopt ($chCURLOPT_RETURNTRANSFER1);
      
    curl_setopt ($chCURLOPT_URL$image_url);
      
    curl_setopt ($chCURLOPT_CONNECTTIMEOUT20);
      
    curl_setopt ($chCURLOPT_USERAGENT$_SERVER['HTTP_USER_AGENT']);
      
    curl_setopt ($chCURLOPT_FOLLOWLOCATIONtrue);
      
    curl_setopt($chCURLOPT_HEADERtrue);
      
    curl_setopt($chCURLOPT_NOBODYtrue);
     
      
    $content curl_exec ($ch);
      
    $contentType curl_getinfo($chCURLINFO_CONTENT_TYPE);
        echo 
    $contentType;
      
    ?>
     
    kreator нравится это.
  3. kreator

    kreator Создатель

    Заблокирован
    Регистр.:
    18 июн 2011
    Сообщения:
    113
    Симпатии:
    6
    С примером кода все более чем понятно, хотя код на моем хосте ругается на строчку CURLOPT_FOLLOWLOCATION (без нее все работает гут)

    С ютуб тож. Правда хотел не id вытаскивать, а просто узнать что ссылка на страницу видео на ютуб.
     
  4. DeviLlundead

    DeviLlundead Писатель

    Заблокирован
    Регистр.:
    31 июл 2011
    Сообщения:
    10
    Симпатии:
    15