PHPで短縮URLの短縮前のオリジナルURLを取得する

PHP

プログラムで、短縮URLサービスを使用した場合にオリジナルのURLを取得する方法を見つけました!

例えば、「You Tubeの動画のURLを入力してください」といった入力フォームを作成して用意した場合に、プログラマ側としては

http://www.youtube.com/watch?v=〇〇〇〇

の形のURLを想定していたけど、実際には、You Tube公式の短縮URL

http://youtu.be/〇〇〇〇

といったURLや、

http://bit.ly/〇〇〇〇
http://j.mp/〇〇〇〇

などのbitlyなどに代表される短縮URLサービスを使用したURLアドレスを入力されてどう対処使用かということがありました。

PHPには、こういった短縮前のURLを返却してくれる関数がありました。

get_headers」関数を使用します。

get_headers

※PHP5以上で使用可能

PHPマニュアル - get_headers

get_headers関数を使用した記述例

<?php
 $short_url    = "http://j.mp/Ix9JJj";
 $headers      = get_headers($short_url, 1);
 $original_url = $headers['Location'];	
 echo $original_url;
?>

こんな感じで短縮前のURLを取得することができ、実行結果は、

http://thesaibase.com/

となります。

ある程度対応する短縮URLを絞って、正規表現でURLにマッチングしたらget_headers関数で変換してあげるというような処理を書きました。

簡単に使えて便利っすね!

プロから直接学べるプログラミングスクールの紹介!PHPコースあり!

自己流でプログラミングを覚えようとすると、環境設定でつまづく、書いたプログラムがなぜ動かないか解決できず、多大な時間を浪費してしまいがちです。

担当の指導者(メンター)が付いてくれるTechAcademyなら、分からないことをどんどん質問して解決できます!コードレビューしてもらえるのも素晴らしい点ですね。

【TechAcademy】家で学べるプログラミングスクール

Web制作会社が立ち上げたWebデザイナー育成スクール Web塾超現場主義

Web制作に実際に携わっている講師陣が、現場で通用するスキルを伝授します!卒業後は転職支援、仕事紹介などを行っており、フリーランス独立する道を探すこともできそうです。

また「独立・開業はちょっと...」という方へは、当社の制作案件をお手伝いして頂く道も開けます。
Facebookアカウントでコメント

※本コメント機能はFacebookによって提供されており、この機能によって生じた損害に対してザ サイベースは一切の責任を負いません。

PHP

ABOUTこの記事を書いた人

とみっち

埼玉でザ サイベースを主催しています。Webクリエイター。フリーランス歴7年。飄々と生きています。これでも育児頑張ってます。長野市出身。 @tomicci 詳しいプロフィール【興味】ギター/DTM/Web/車/田舎/旅/酒/育児 自然の音からデスメタルまで聴きます。【運営サイト】 ザ サイベース おと風景