2012-11-08 49 views
3

我從PhP中抓取內容,如何搜索$ page以查找ID爲「#lga」的元素並回顯出另一個屬性?說#lga是一個圖像,我將如何迴應它的來源?使用PHP查找和迴應HTML文檔中的特定ID

不,我不打算用Google來做這件事,Google嚴格是一個例子和測試頁面。

<body><img id="lga" src="snail.png" /></body> 

我想找到名爲「lga」的元素並回顯出它的源代碼;所以上面的代碼我想要回顯「snail.png」。

這是我使用什麼和如何我存儲我發現了什麼:

<?php 
$url = "https://www.google.com/"; 
$page = file($url); 

foreach($page as $part){ 
} 
?> 
+0

祝你好運。谷歌會迅速關閉你。 –

+0

我將使用它來從我的其他網站獲取內容,而不是從Google獲取內容。我只是以Google爲例。 –

回答

2

可以使用達到這個內置DOMDocument類。這個類可以讓你用HTML結構化的方式工作,而不是解析純文本自己,這是相當多才多藝:

$dom = new DOMDocument(); 
$dom->loadHTML($html); 

要獲得id爲lga元素的src屬性,你可以簡單地使用:

$imageSrc = $dom->getElementById('lga')->getAttribute('src'); 

請注意,DOMDocument::loadHTML會在遇到無效HTML時產生警告。 The method's doc page有關於如何禁止這些警告的幾點說明。另外,如果您可以控制網站,那麼您可能更適合使用專用腳本來提供您之後的信息。除非你需要精確地解析頁面上的內容,否則從HTML中提取數據可能會非常浪費。

相關問題