janci/ sitemap-generator
Sitemap Generator 是一个PHP库,可以基于网站中的html元素a-href创建sitemap.xml文件。
v1.0-rc2
2014-01-02 18:18 UTC
Requires
Requires (Dev)
- nette/tester: v0.9.4
This package is not auto-updated.
Last update: 2024-09-24 01:33:02 UTC
README
Sitemap Generator 是一个PHP库,可以从页面链接生成sitemap.xml。扫描过程会在页面上搜索a-href元素,并创建不包含外部页面链接的链接映射。扫描过程只能用于单页,当从输入链接获取链接时。第二种选项是使用扫描器递归扫描。对于此选项,扫描器将扫描网站中找到的所有链接。扫描器接受以"/"或域名(网站URL)开头的链接。
扫描过程可能需要几分钟来构建大型页面或较慢的互联网连接的sitemap。最佳实践是在命令行(CLI)中运行脚本,而不是通过使用Web服务器从网站运行。
安装
安装Sitemap Generator的最佳方法是使用Composer
php composer.phar require janci/sitemap-generator
Sitemap Generator需要PHP 5.3.0或更高版本。
使用示例
要查找网站上的所有链接,请使用
$siteMap = new SitemapGenerator(); $siteMap->scanSite(new UrlScanDriver("http://www.example.com/")); $urls = $siteMap->getFoundUrls();
要获取结果为sitemap.xml,请使用
$siteMap = new SitemapGenerator(); $siteMap->scanSite(new UrlScanDriver("http://www.example.com/")); $sitemapXML = $siteMap->getSitemapContent(); file_put_contents('sitemap.xml', $sitemapXML);
前两个示例使用递归扫描(默认)。对于单页扫描,需要在SitemapGenerator::scanSite方法的第二个参数中设置"false"。
$siteMap = new SitemapGenerator(); $siteMap->scanSite(new UrlScanDriver("http://www.example.com/"), false); ...
要显示进度信息,可以使用处理函数。处理函数必须在调用scanSite方法之前注册。
$siteMap = new SitemapGenerator(); $siteMap->onScanSite[] = function($siteMapGenerator, $scanDriver) { echo "{$siteMapGenerator->getProgressStatus()}%\n"; }; $siteMap->scanSite(new UrlScanDriver("http://www.example.com/")); ...
就这些了!