2010-02-03 35 views
1

我想有一個應用程序,顯示我所有網站的外部鏈接並輸出圖表。像例如www.example.com/articles/some-title.html鏈接到我的主頁。PHP/Javascript/jQuery - 動態網站圖

Home 
- www.example.com/some-text 
- www.another-site.com/my-title 
- www.example.com/articles/some-title.html Products 
Products 
- www.buy-now.com/product-reviews/231/098989 
- www.sales.com/432/title-page.html Categories 
- www.ezinearticles.com/blah-blah-blah 

類似SlickMap,但不是在CSS上。

我已經在我的數據庫中設置了一個表格,所以這將是動態的,還有更多的鏈接來。我正在使用CakePHP來處理這個問題。任何想法/建議?

謝謝你的時間。

+0

不是CSS。那你想要什麼呢? – Natrium 2010-02-03 15:21:23

+0

php/javascript/jquery – 2010-02-03 15:23:11

+1

你打算如何設計HTML樣式?如果是我,我會製作一個站點地圖控制器。然後使用這樣的東西,http://cakebaker.42dh.com/2006/07/21/how-to-list-all-controllers/生成一個網站地圖,因爲我需要 – 2010-02-03 16:24:14

回答

1

您可以使用PHP從數據庫檢索結果,您可以使用jQuery's treeView來顯示它們。

另外,raphaël.js可能是有趣的,尤其是它的diagram插件,它的完全可定製的,應該檢查出來。

+0

嗯..這可能會做到這一點。但我會看看別人的建議。 – 2010-02-03 15:38:41

+0

當然,我添加了一些更多的鏈接,以便您可以瞭解還有哪些內容。 – 2010-02-03 15:46:45

1

如果我正確理解你,你想分析整個網站的內容(HTML,JS等),並創建一個包含所有鏈接的數組,以及包含所有鏈接的頁面他們可以被發現。如果這是正確的,這個代碼將完成這項工作:

<?php 

$path = "./path_to_your_files/"; 

$result = array(); 

if ($handle = opendir($path)) { 
    while (false !== ($file = readdir($handle))) { 
     if ($file != "." && $file != "..") { 

      $contents = file_get_contents($path . $file); 

      preg_match_all("/a[\s]+[^>]*?href[\s]?=[\s\"\']+"."(.*?)[\"\']+.*?>"."([^<]+|.*?)?<\/a>/", $contents, $parts); 

      foreach ($parts[1] as $link) { 

       $result[$file][] = $link; 

      } 

     } 
    } 
    closedir($handle); 
} 

print_r($result); 

?>