0

他のサイトで見つけたすべてのビデオについて youtube にアクセスしないようにしていますが、それは youtube からのものです。ビデオの URL を右クリックしてコピーすると、URL のリンク内にこの機能が含まれます。str_replace でそれを取り除こうとしています。

リンクhttp://www.youtube.com/watch?feature=player_embedded&v=wq7ftOZBy0E

$_GET['link'] = str_replace('feature=player_embedded&', '', $_GET['link']);

また

$_GET['link'] = str_replace('http://www.youtube.com/watch?feature=player_embedded&', 'http://www.youtube.com/watch?', $_GET['link']);

どちらもhttp://www.youtube.com/watch?feature=player_embedded、私が期待しているものではなく、のみを返します:http://www.youtube.com/watch?v=wq7ftOZBy0E

アップデート:

最初に考えたように、これは str_replace の問題ではないことに気付きました。

http://localhost/mysite/link.php/?link=http://www.youtube.com/watch?feature=player_embedded&v=wq7ftOZBy0E

$_GET['link'] は "&" まで URL を使用します。このすべてが欠けています&v=wq7ftOZBy0E

アンパサンドが $_GET['link'] を壊したようです。これを機能させるにはどうすればよいですか?

受け入れられた回答に基づく解決策:

if(isset($_GET['v']))
{
$_GET['link'] = $_GET['link'].'&v='.$_GET['v'];
$_GET['link'] = str_replace('feature=player_embedded&', '', $_GET['link']);
$_GET['link'] = str_replace('http://www.youtube.com/watch?v=', '//www.youtube.com/embed/', $_GET['link']);
$_GET['link'] = str_replace('www.youtube.com/watch?v=', '//www.youtube.com/embed/', $_GET['link']);
$_GET['link'] = str_replace('http://youtu.be/', '//www.youtube.com/embed/', $_GET['link']);
echo $_GET['link'];
}
else
{
$_GET['link'] = str_replace('http://www.youtube.com/watch?v=', '//www.youtube.com/embed/', $_GET['link']);
$_GET['link'] = str_replace('www.youtube.com/watch?v=', '//www.youtube.com/embed/', $_GET['link']);
$_GET['link'] = str_replace('http://youtu.be/', '//www.youtube.com/embed/', $_GET['link']);
echo $_GET['link'];
}
4

4 に答える 4

1

次のコードを追加するだけです

if(isset($_GET['v']))
{
$resultURL=$_GET['link'].'&v='.$_GET['v'];
}
于 2013-11-05T11:12:49.923 に答える
0

& の後のデータは $_GET['v'] として取得できます。

変数「v」に割り当てられたデータを取得するだけです

于 2013-11-05T10:54:02.183 に答える
0

このコードを実行します

<?php
$_GET['link']="http://www.youtube.com/watch?feature=player_embedded&v=wq7ftOZBy0E";

echo $_GET['link'] = str_replace('feature=player_embedded&', '', $_GET['link']);

?>

そして、私は次の出力を得ました

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

私はあなたが探しているものを知りません

于 2013-11-05T10:18:59.090 に答える