2011-01-10 27 views
-1

http://www.weather.bm/radarMobile.asp、Fatherstorm gave me a great solution私はサイトのスクラップに問題がありましたが、開始時間と画像ソースの数が時々9または10になることがありましたが、コードは10に設定されていました。 2 preg_split()javascript配列を掻き集める

「この行を返しますradarFileNames =新しい配列を含む行を通じ、簡単な検索が次にあなたがURLを抽出できます。一方、一人(marcog)で

は私に this answerを与えましたs:最初に \(|\)を入力し、 ', 'に2番目のトークンを分割します。最後に、URLに http://www.weather.bm/という接頭辞を付けます。

私が話していたコードを誰かに見せたいと思っていました。私はこのようなものを学ぶのが好きですが、私に教える人はいません。私はあなたたちはjavascript配列

を助けることができる願っています:

radarFileNames = new Arra(  
'images/Radar/CurrentRadarAnimation_100km_sri/100km_sri-radar-2011-01-04-1446.jpg',  
'images/Radar/CurrentRadarAnimation_100km_sri/100km_sri-radar-2011-01-04-1456.jpg',  
'images/Radar/CurrentRadarAnimation_100km_sri/100km_sri-radar-2011-01-04-1506.jpg',  
'images/Radar/CurrentRadarAnimation_100km_sri/100km_sri-radar-2011-01-04-1516.jpg',  
'images/Radar/CurrentRadarAnimation_100km_sri/100km_sri-radar-2011-01-04-1526.jpg',  
'images/Radar/CurrentRadarAnimation_100km_sri/100km_sri-radar-2011-01-04-1536.jpg',  
'images/Radar/CurrentRadarAnimation_100km_sri/100km_sri-radar-2011-01-04-1546.jpg',  
'images/Radar/CurrentRadarAnimation_100km_sri/100km_sri-radar-2011-01-04-1556.jpg',  
'images/Radar/CurrentRadarAnimation_100km_sri/100km_sri-radar-2011-01-04-1606.jpg' 

も、それは自分のクラス(ULクラスのliクラス)

を持っている/ UL UL李/李内側のimgを出力することが可能です

イムも、単純なHTML DOMパーサを使用して、私はサンプルがfatherstormコード http://j2sdesign.com/rgw/article/20101222/NEWS01/712229951/0/example/r1.php

に使用しているだけロードされた画像は、ここで

をoutputedされた画像を得ることができません10

fatherstormから自分のコード

?php 
     $localOffset = "+2 Hours"; //change this to your local offset from the image times you need. for me it's 1 hours..... 
     $start = strtotime("-100 Minutes " . $localOffset); // go back 90 minutes (The limit of the available images) 
     $start = ($start - ($start % (600)) + (60 * 6)); //go to the next earlier 6 minute mark (all images appear to be at the 6 minute mark)) 
     for ($x = 1; $x <= 10; $x++) { 
      $DateTime = date("Y-m-d-Hi", $start); // set the image time we want. 
      $fName = ("http://www.weather.bm/images/Radar/CurrentRadarAnimation_100km_sri/100km_sri-radar-$DateTime.jpg"); // set the filename 
      echo" <center>$DateTime</center> <img class='radarImg' src='$fName' alt='$fName' title='$fName'/><br/."; // echo (or add to a stack or variable...) your image node 
      $start+= (600); //add 10 minutes 


     } 
     ? 

マリオは、あなたがこのような を意味しています:

<?php 
     $localOffset = "+2 Hours"; //change this to your local offset from the image times you need. for me it's 1 hours..... 
     $start = strtotime("-100 Minutes " . $localOffset); // go back 90 minutes (The limit of the available images) 
     $start = ($start - ($start % (600)) + (60 * 6)); //go to the next earlier 6 minute mark (all images appear to be at the 6 minute mark)) 
     for ($x = 1; $x <= 10; $x++) { 
      $DateTime = date("Y-m-d-Hi", $start); // set the image time we want. 
      $fName = ("http://www.weather.bm/images/Radar/CurrentRadarAnimation_100km_sri/100km_sri-radar-$DateTime.jpg"); // set the filename 
      echo" <center>$DateTime</center> <img class='radarImg' src='$fName' alt='$fName' title='$fName'/><br/."; // echo (or add to a stack or variable...) your image node 
      $start+= (600); //add 10 minutes 
     $html = file_get_contents('http://www.weather.bm/radarMobile.asp'); preg_match('/radarFileNames = new Array\((.+?)\);/ims', $html, $m); $files = explode(",", $m[1]); 

     } 
     ?> 
+2

ここには本当の質問はありません。なぜあなたは明確化のためにマルコに相談しないのですか? –

+0

-1、これはgimme teh codezの投稿です。 – goat

答えて

0

これを試してみてください:

//not tested 
var len=radarFileNames.length, links=''; 

for(var i=0; i<len; i++) { 
    var links = links + '<a href="radarFileNames[i]">'+radarFileNames[i] + '</a>'; 
} 

document.getElementById("some_id").innerHTML = links; 
+0

あなたの助けていただきありがとうございますが、どこに私はこのコードを置くことができますどこに私はサイトのURLを置くのですか? – cooldude

1

は、正規表現のPHPマニュアルをお読みください。この場合は次のように簡単です:

$html = file_get_contents('http://www.weather.bm/radarMobile.asp'); 
preg_match('/radarFileNames = new Array\((.+?)\);/ims', $html, $m); 
$files = explode(",", $m[1]); 
// then output <img>s 

ここでは、explode()はpreg_splitよりも簡単です。しかし、配列内の各ファイル名にtrim()が必要で、囲み引用符を取り除くには、trim($filename, "'")が必要です。

+0

私はこのコードを挿入することができます – cooldude

+0

あなたのコードを追加することができますどこに私の投稿を編集し、私のコードはあなたのスプーンが私に食べているわけではありませんが、私は助けてくれてどうしたらいいのか分かりません。それとも、代わりにsimplehtmldonパーサを使うべきですか? – cooldude

+0

@cooldude:これは抽出用です。回避策コードには属していません。編集を参照してください。 simplehtmldomパーサーは必要ありません。 – mario

関連する問題