2012-01-20 5 views
1

誰かがページのコードを手に入れることを手伝ってもらえますか?私が使用したコードはでした:動的変数をhtml urlの文字列に埋め込み、そのHTMLコードを取得します

<?php 
$v='bla bla'; 
$j=2; 
$x=''; 
$h=str_replace($x,$v,"http://www.youtube.com/watch?v=$x&list=blabla&index=$j++&feature=plpp_video"); 
$html = file_get_contents($h); 
echo $html; 
?> 

WAMPは

Warning: file_get_contents(http://www.youtube.com/watch?v=&list=blabla&index=2&feature=plpp_video) 
[function.file-get-contents]: failed to open stream: 
HTTP request failed! HTTP/1.0 404 Not Found in C:\wamp\www\php trails\trails\new 8.php on line 6 

のようなエラーがスローされるxがnullに宣言されていない場合、それは言う:

Notice: Undefined variable: x in C:\wamp\www\php trails\trails\new 8.php on line 5 

答えて

0

あなたはどのようにstr_replace()と誤解されていますstringsは一般的にPHPで動作します。割り当ての時に - あなたは、文字列に変数を配置すると、それは文字列が解析される時に評価され

<?php 

    $v = 'bla bla'; 
    $j = 2; 
    $urlTemplate = 'http://www.youtube.com/watch?v=%x%&list=blabla&index=%j%&feature=plpp_video'; 

    $h = str_replace(array('%x%','%j%'), array($v,$j++), $urlTemplate); 
    echo file_get_contents($h); 

はこれを試してみてください。文字列がhttp://www.youtube.com/watch?v=&list=blabla&index=2++&feature=plpp_videoと評価されるため、あなたがしたことはうまくいかないでしょう。

文字列内の変数は、変数への参照を作成しません。単に現在の値を使用します。

上記のコードでは、プレースホルダー%x%%j%を使用して、使用する実際の値に置き換えています。

+0

感謝のボスを変更/インクリメントについて悩むする必要が一意のIDを運ばない、URLで値を操作する必要がないことがわかりましたあなたが提案した変更は、私は何かをやったことがありますが、私の主な目的は、各ビデオのタイトルと説明をコードから抜き出すことです。私が与えたURLは、プレイリストpfのすべてのビデオを含むページです。 – krishna

2

http://www.youtube.com/watchV = &リスト= blabla &インデックス= 2 &機能= plpp_videoには、有効なURL

ではありません私はあなたがその

$v='bla_bla'; 
$j=2; 

$h = "http://www.youtube.com/watch?v=".$v."&list=blabla&index=".($j++)."&feature=plpp_video"; 
$html = file_get_contents($h); 
echo $html; 

編集のような何かをしたいと思う:変更を強調するために、文字列から$ Vを除外

+0

ありがとうございました。でも、あなたの提案した変更を加えれば、私は何かをやっているのですが、私の主な目的は、各ビデオのタイトルと説明をコードで取り出すことです。プレイリストを含むページすべてのビデオ – krishna

2

一部の文字列を結合するときに文字列を置換する必要はありません。 あなたの文字列に変数{var}を直接書くことができます。 バールがエンコードされていることを確認してください。

<?php 
$v='bla bla'; 
$j=2; 
$x=''; 
$h="http://www.youtube.com/watch?v={$x}&list=blabla&index={$j}++&feature=plpp_video"); 
$html = file_get_contents($h); 
echo $html; 
?> 
0

私はしかしと、各ビデオはそう指標値またはプレイリスト値

関連する問題