

[https://www.google.co.jp/imgres?imgurl=https://www.irobot-
jp.com/roomba/800series/img/lineup_img_03.png&imgrefurl=https://www.irobot-
jp.com/roomba/800series/&h=294&w=300&tbnid=hii2NgfRdpdAWM:&docid=6SI3d_RhJqENlM&ei=bRXIVvSuNOasmAXEv6H4BQ&tbm=isch](https://www.google.co.jp/imgres?imgurl=https://www.irobot-
jp.com/roomba/800series/img/lineup_img_03.png&imgrefurl=https://www.irobot-
jp.com/roomba/800series/&h=294&w=300&tbnid=hii2NgfRdpdAWM:&docid=6SI3d_RhJqENlM&ei=bRXIVvSuNOasmAXEv6H4BQ&tbm=isch)

上記のURLで、keyのimgurl（<https://www.irobot-
jp.com/roomba/800series/img/lineup_img_03.png>）だけ取得するにはどのようにすれば宜しいでしょうか。  
言語はphpで行いたいと考えています。  
詳しい方ご教示下さい。


CC BY-SA 3.0
2016-02-20T07:33:46.017
22302
2016-02-21T05:34:32.847
2016-02-21T05:34:32.847
10492
8619
question
php
PHP で url のパラメータから特定の key に対応する値を抽出したい


URLを文字列として解析(parse)したいのであれば、「php URL
parse」辺りで検索をかければいろいろ実例付きの解説記事が見つかるかと思いますが、[parse_url()関数](http://php.net/manual/ja/function.parse-
url.php)と[parse_str()関数](http://php.net/manual/ja/function.parse-
str.php)を組み合わせるのが常道だろうと思います。

[code]

    $url_string = 'https://www.google.co.jp/imgres?imgurl=https://www.irobot-jp.com/roomba/800series/img/lineup_img_03.png&imgrefurl=https://www.irobot-jp.com/roomba/800series/&h=294&w=300&tbnid=hii2NgfRdpdAWM:&docid=6SI3d_RhJqENlM&ei=bRXIVvSuNOasmAXEv6H4BQ&tbm=isch';
    $query = parse_url($url_string, PHP_URL_QUERY);
    parse_str($query, $query_array);
    echo $query_array['imgurl']; //->https://www.irobot-jp.com/roomba/800series/img/lineup_img_03.png
    
[/code]


CC BY-SA 3.0
2016-02-20T07:53:36.537
22305
2016-02-20T07:53:36.537
13972
22302
answer

[code]

    <?php
    //対象のURL
    $gs_url = "https://www.google.co.jp/imgres?imgurl=https://www.irobot-jp.com/roomba/800series/img/lineup_img_03.png&imgrefurl=https://www.irobot-jp.com/roomba/800series/&h=294&w=300&tbnid=hii2NgfRdpdAWM:&docid=6SI3d_RhJqENlM&ei=bRXIVvSuNOasmAXEv6H4BQ&tbm=isch";
    //正規表現パターン：imgurl～のURL
    $pattern = '/.*?imgurl=(http.*?.png|http.*?.jpg|http.*?.jpeg|http.*?.gif).*?/';
    
    preg_match($pattern, $gs_url, $matches, PREG_OFFSET_CAPTURE);
    
    echo $matches[1][0];
    ?>
    
[/code]


CC BY-SA 3.0
2016-02-20T07:53:56.743
22306
2016-02-20T07:53:56.743
22302
answer