2012-10-18 78 views
1

我想使用file_get_contents來獲取p 標籤之間的信息。從PHP中的craigslist中檢索帖子

我試過使用DOM元素,但是當我使用getElementByTagName並遍歷數組時,它將剝去<p>標記中的所有HTML。

<?php 
function search(){ 
    $city = $_POST['city']; 
    $scity = trim($city); 
    $dom = new DOMDocument; 
    libxml_use_internal_errors(true); 

    $dom->loadHTMLFile('http://'.$scity.'.craigslist.org/search/cto?query=Toyota'); 
    libxml_use_internal_errors(false); 
    $xpath = new DOMXPath($dom); 
    $contents = $xpath->query('//p[@class="row"]'); 

    foreach($contents as $val){ 
     echo '<a href="' . $val->getElementsByTagName('a')->getAttribute('href') . '">' . utf8_decode(trim($val->nodeValue, " -,")) . "</a><br />\n";; 
    } 
} 
?> 

我希望它像在craigslist上一樣顯示。 與鏈接到Craigslist的,價格,IMG等標題...

+1

Craigslist的呈現鏟運機強硬。如果你還沒有被阻止,你會很快流行起來。 – duskwuff

+0

請發佈您的代碼。還有一些示例HTML,以及你想從中提取的內容。 –

+0

@MichaelPetrotta我剛更新了這篇文章。 – Query

回答

0

使用preg_match_all()

$text = file_get_contents("...."); 

preg_match_all('|<p>(.*?)</p>|',$texst, $matches); //Use regex to match all inside `p` 

var_dump($matches); //View the matches