1

私は、ユーザーが Youtube ビデオをダウンロードできる Web サイトを所有しています。次のような、YouTube URL が存在するかどうかを検出する php スクリプトが必要です。

Givemeyoutube.com では通常のウェブサイトに移動しますが、入力すると

www.givemeyoutube.com/watch?v=OZLUa8JUR18

それらを自分のウェブサイトのインデックスに移動し、「watch?v=OZLUa8JUR18」を取り除いて変数として保存するにはどうすればよいですか?

更新: URLをチェックし、「watch?v=」が含まれている場合は別のページにリダイレクトするようにするにはどうすればよいですか?

4

4 に答える 4

2

次の正規表現で preg_match を使用します

/(\/watch\?v=)([a-zA-Z0-9_-]+)/

于 2012-05-09T22:50:21.037 に答える
1

watchとにかくURLを書き換えて実際のphpページを開くことを確認する必要があるため、このタスクにはURLの書き換えが適していると思います。

私は次のようなものを使用します:

RewriteEngine On
RewriteBase /

RewriteRule ^watch.*$ /index.php?action=watch [QSA]

このルールにより、 で始まるすべてのリクエストは、元のクエリ文字列 ( による) と、値 で呼び出される追加のパラメーターを使用watchして にルーティングされます。index.php[QSA]actionwatch

于 2012-05-09T22:57:28.087 に答える
1

正規表現として一致する\b(?<=v.|/)[a-zA-Z0-9_-]{11,}\bプレグ

于 2012-05-09T22:49:38.923 に答える
1

mod_rewrite次のようなリクエストを適切に処理するために使用できますwatch?V=123456

あなたの.htaccessファイルで:

RewriteEngine On
RewriteBase /
RewriteRule ^watch index.php [QSA]

次にindex.php

if( isset( $_GET['v'] ) ) {
    // access the v parameter with $_GET['v'];
}
于 2012-05-09T22:56:13.980 に答える