2012-03-27 64 views
0

使用php file_get_contents()我只想要文章和圖像。但它是整個頁面。 (我知道有其他辦法可以做到這一點)Php file_get_contents()問題

例子:

$homepage = file_get_contents('http://www.bdnews24.com/details.php?cid=2&id=221107&hb=5', 
true); 
echo $homepage; 

這顯示完整的頁面。有沒有什麼辦法只顯示cid = 2 & id = 221107 & hb = 5的帖子。

非常感謝。

+0

嗯,我是新來的PHP,我只想要特定的帖子和圖像,但它是顯示整個頁面。 – user1295995 2012-03-27 16:22:27

+0

玩得開心解析該表... – JKirchartz 2012-03-27 16:22:58

+2

你有沒有考慮過他們的RSS feed? http://rss.bdnews24.com/rss/english/home/rss.xml – Pete 2012-03-27 16:23:02

回答

2

使用PHP的DomDocument解析頁面。如果你願意,你可以更多地過濾它,但這是一般的想法。

$url = 'http://www.bdnews24.com/details.php?cid=2&id=221107&hb=5'; 
// Create new DomDocument 
$doc = new DomDocument(); 
$doc->loadHTMLFile($url); 


// Get the post 
$post = $doc->getElementById('opage_mid_left'); 


var_dump($post); 

更新: 除非圖像是一個要求,我會使用打印機友好的版本:http://www.bdnews24.com/pdetails.php?id=221107,它是乾淨多了。

+0

nachito圖像很重要。 – user1295995 2012-03-27 16:32:19

+0

我如何顯示圖像.. – user1295995 2012-03-27 16:32:55

+0

然後用第一個版本去掉你不想要的元素 – nachito 2012-03-27 16:34:58

2

您將需要使用DOM解析器解析生成的HTML以僅獲取所需部分的HTML。我喜歡PHP Simple HTML DOM Parser,但正如Paul指出的,PHP also has it's own

+0

好吧,Xeon06我正在檢查.. – user1295995 2012-03-27 16:22:53

+3

儘管你可能會使用PHP內置的DOMDocument,因爲它*可能*更高效。 – 2012-03-27 16:23:38

+0

謝謝Xeon06。得到它了。 – user1295995 2012-03-27 16:28:54

0

您可以使用正則表達式提取

<div id="page"> 
     //POST AND IMAGE EXIST HERE 
</div> 

部分來自取出內容,推動它在網頁上...

+0

http://stackoverflow.com/a/1732454/104999 – 2012-03-27 16:23:37