2012-05-06 110 views
1

我正在我的網站上建立一個腳本,但發現自己有點困惑如何讓這個工作以最少的代碼很好。檢查網站的鏈接使用PHP

基本上所有需要的就是這樣我可以輸入一個url爲例如domain.com,它應該掃描該主頁的鏈接指向我的域名,並檢查是否指定rel =「nofollow」或如果鏈接沒有rel =「nofollow」,則返回true;如果沒有鏈接,則返回false,或鏈接爲rel =「nofollow」。

我將如何去做這件事,或者我會從哪裏開始。

我已經用google搜索瞭如何創建一個蜘蛛,但它的所有內容遠遠多於我想創建的基本腳本的很多信息和複雜性!

回答

1

你要求的並不像你想像的那麼簡單。要正確執行此操作,您需要使用DOM解析器,如DOMDocument

http://www.php.net/manual/en/class.domdocument.php

您可以使用它loadHTML()方法來解析要掃描通過網頁。從那裏,您可以使用其各種功能來查找您要查找的特定鏈接,並檢查其屬性以確保網址正確,並且您的rel="nofollow"就在那裏。

我向你保證,最終,這不僅僅是一個字符串搜索你的網址容易。沿着盲目的搜索道路走下去會導致你的結果不準確,並且比你意識到的要麻煩得多。

0

看看http://simplehtmldom.sourceforge.net/.

// Create DOM from URL or file 
$html = file_get_html('http://www.google.com/'); 
// Find all links 
foreach($html->find('a') as $element) 
     echo $element->href . '<br>';