2012-05-05 51 views
0

您好我使用preg_match_all函數來抓取頁面上的東西,但是當我試圖抓取某些特定部分(如細節部分)時,它會向我發送一個數組!該網頁上如何在頁面中使用preg_match_all獲取特定部分

代碼結構

<div class="f slp">DETAILS I WANT TO GET</div> 

先前爲搶網址ň標題我用了這樣的代碼

//so this gets URLs in href="" 
preg_match_all('/a href="([^"]+)" class=l.+?>.+?<\/a>/',$scraped,$results); 

但這次我想抓住的結構下,該網頁上的一些細節的

<div class="f slp">DETAILS I WANT TO GET</div> 

回答

1
preg_match_all("#<div class=\"f slp\">(.*?)<\/div>#si", $source, $match); 

foreach($match[1] as $val) { 
    echo $val."<br>"; 
} 
+0

日Thnx它的工作原理,但它忽略了一些細節,並顯示extractly細節與給定碼以上的比賽,但在一些地方它的代碼看起來像這樣

xxxxxxxxxxxx
如何忽略那些標籤並獲取所有細節(所有的X) –

1

請查看PHP Simple HTML DOM Parser這是一個非常易於使用的庫,可以很容易地從html中提取內容。

// from the documentation 
$html = str_get_html("<div>foo <b>bar</b></div>"); 
$e = $html->find("div", 0); 
echo $e->tag; // Returns: " div" 
echo $e->outertext; // Returns: " <div>foo <b>bar</b></div>" 
echo $e->innertext; // Returns: " foo <b>bar</b>" 
echo $e->plaintext; // Returns: " foo bar" 

閱讀更多manual

相關問題