2011-01-10 6 views
-1

http://www.weather.bm/radarMobile.asp, Fatherstorm gave me a great solution과 같은 사이트를 긁어내는 데 문제가 있었지만 시작 시간과 이미지 소스 수가 9 개 또는 10 개이지만 가끔씩 코드가 10 개로 설정되는 등의 사소한 버그가있었습니다. 이 preg_split()자바 스크립트 배열을 긁는 것

"이 라인을 반환합니다 radarFileNames = 새로운 배열을 포함하는 라인을 통해 간단한 검색 그런 다음 URL을 추출 할 수 있습니다. 반면 한 사람 (marcog)에

나에게 this answer했다 s : 먼저 \(|\)을 입력 한 다음 두 번째 토큰을 ', '으로 나눈 다음 마지막으로 URL에 http://www.weather.bm/을 붙이십시오. "

나는 누군가가 내게 말하는 코드를 보여줄 수 있으면 좋겠다. 저는 이런 종류의 것을 배우고 싶지만 저에게 가르 칠 사람이 없습니다. 나는 너희들이 도울 수있는 희망 배열 자바 스크립트

: 또한

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 클래스 리 클래스)가 UL 리/리/UL 내부 IMG

가능한 것

임은 간단한 HTML DOM 파서를 사용하지만 샘플 fatherstorm 코드 http://j2sdesign.com/rgw/article/20101222/NEWS01/712229951/0/example/r1.php

,536,913,632를 사용하는 경우에만로드 된 이미지는 여기

를 출력 됨 된 이미지를 얻을 수 없다 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 


     } 
     ? 

마리오 10

내 코드는이 같은 을 의미합니까 :

<?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, 내 소개 글입니다. – 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

도움을 주셔서 감사합니다. 그러나 어디에서이 코드를 넣을 수 있습니까? 그리고 어디서 압축을 풉니 다. – 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 

은 (는) preg_split 여기보다 쉽게 ​​폭발 :이 경우는 간단합니다. 그런 다음 배열의 각 파일 이름에 trim()이 필요하고 둘째로는 trim($filename, "'")으로 묶여있는 따옴표가 없어야합니다.

+0

어디서이 코드를 삽입 할 수 있습니까? – cooldude

+0

어디에서 코드를 추가 할 수 있습니까? 내 게시물을 편집하고 추가했습니다. 내 코드는 내게 먹이를주는 숟가락이 아니라 도움을 주셔서 감사 할 일을 전혀 모르고 있습니다. 아니면 대신 simplehtmldon 파서를 사용해야한다는 뜻입니까? – cooldude

+0

@cooldude : 추출 용입니다. 대안 코드에 속하지 않습니다. 편집을 참조하십시오. simplehtmldom 파서가 필요하지 않습니다. – mario

관련 문제