2010-02-03 31 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); 

?>