-5

URLから値を抽出したいたとえば、URLは

http://www.youtube.com/watch ? v=N22qGmYIUVU &feature=g-ロゴ

PHPを使用してURLからvの値を取得する必要があります。正規表現を使用して行う必要があることは理解していますが、あまり得意ではありません。他の関連する質問を確認しましたが、解決方法に問題が見つかりました。

この正規表現の例 - /http\://www.youtube.com/watch\?v=([\w-]{11})/

v の値を 11 に制限します。基本的に、「#」、「&」、または区切り文字に遭遇した場合、v の値を終了して抽出する必要があります。

v の値は任意の長さにすることができます

助けてください!

4

4 に答える 4

1

これを行う最も簡単な方法は、parse_url 関数を使用することです。 このリンクを確認してください

そしてhttp://www.php.net/manual/en/function.parse-str.phpを使用します

print_r(parse_url('http://www.youtube.com/watch?v=N22qGmYIUVU&feature=g-logo'));
于 2012-05-05T13:09:15.280 に答える
0
preg_match("~/watch\?v=(.*?)&~i", $uri, $matches);

これでうまくいくはずです。

于 2012-05-05T13:07:26.790 に答える
0

これは、正規表現を使用するよりも確実な方法です。

<?php
    $url = "http://www.youtube.com/watch?v=N22qGmYIUVU&feature=g-logo";

    $parts = parse_url($url);
    parse_str($parts['query'], $query);

    print_r($query); // $query['v'] is what you want
?>
于 2012-05-05T13:10:07.760 に答える
0

PHP 5.4 では、配列逆参照を使用できます。

parse_str(parse_url("http://www.youtube.com/watch?v=N22qGmYIUVU&feature=g-logo")["query"],$arr);
echo $arr["v"];
于 2012-05-05T13:26:17.533 に答える