2012-11-04 38 views
-2

有人很高興給我寫一個腳本,允許從跨域網站檢索數據。 PHP的是這樣的:跨域GET

<?php 
if(isset($_GET['site'])){ 
    $f = fopen($_GET['site'], 'r'); 
    $html = ''; 
    while(strpos($html, 'position1_article_1') === FALSE) 
    $html .= fread($f, 24000); 
    fclose($f); 
    echo $html; 
} 
?> 

這是保存爲proxy.php jQuery的部分看起來像這樣:

$(function(){ 

    var site = 'http://www.nu.nl'; 

    $.get('proxy.php', { site:site }, function(data){ 

     var href = $(data).find('.hdtitle').first().children(':first-child').prop('href'); 
     var url = href.split('/'); 
     href = href.replace(url[2], 'nu.nl'); 

     // Put the 'href' inside your div as a link 
     $('#myDiv').html('<a href="' + href + '" target="_blank">' + href + '</a>'); 

    }, 'html'); 

}); 

的問題是,我無法弄清楚如何讓所有的'一個'在身體或某些部分像h2,h3等。有人可以把它分解給我嗎?例如;爲了獲得頁面中的所有href,我需要改變什麼?

+0

我不太確定你想要做什麼,你可以稍微說一下嗎? – narruc

+0

http://stackoverflow.com/questions/3627489/php-parse-html-code – ethrbunny

+0

@ShaneCurran我想用腳本做幾件事,但我不知道它是如何工作的(我不知道PHP)所以如果有人可以向我解釋如何獲得身體的所有信息,那麼這可以讓我更近一步瞭解它的工作原理。 – Youss

回答

-1

試試這個:header('Access-Control-Allow-Origin: *');

而且使用這樣的:

<?php 
header('Access-Control-Allow-Origin: *'); 
if(isset($_GET['site'])){ 
    $f = fopen($_GET['site'], 'r'); 
    $html = ''; 
    while(strpos($html, 'position1_article_1') === FALSE) 
    $html .= fread($f, 24000); 
    fclose($f); 
    echo $html; 
} 
?> 

享受!

+0

當php請求與加載js文件的頁面位於同一個域時,如何添加「Access-Control-Allow-Origin」來做任何事情? – AD7six