PHP / Javascript / Jquery - 动态网站图

时间:2010-02-03 15:17:34

标签: php javascript jquery cakephp diagram

我希望有一个应用程序显示我所有网站的外部链接并输出图表。例如www.example.com/articles/some-title.html链接到我的主页。

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来处理这个问题。有什么想法/建议吗?

感谢您的时间。

3 个答案:

答案 0 :(得分:2)

你可以看到slickmap,是站点图的css实现

http://astuteo.com/slickmap/

答案 1 :(得分:1)

您可以使用PHP从数据库中检索结果,并可以使用jQuery's treeView来显示它们。

此外,raphaël.js可能会引起人们的兴趣,特别是它的diagram插件,它完全可以自定义,应该可以查看。

答案 2 :(得分: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);

?>