php 實現sitemap地圖生成xml格式-襄陽網站開發公司分享
使用php 實現sitemap地圖生成,帶頭過濾空鏈接去除等操作,拿到就可用使用,如果需要循環子頁面可寫循環即可使用,
use DOMDocument; use DOMXPath; // 創建 XML 文件 $xml = new DOMDocument('1.0', 'utf-8'); $xml->formatOutput = true; // 創建根節點和 xmlns 屬性 $urlset = $xml->createElementNS('http://www.sitemaps.org/schemas/sitemap/0.9', 'urlset'); $urlset->setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns:image', 'http://www.google.com/schemas/sitemap-image/1.1'); $xml->appendChild($urlset); // 獲取頁面鏈接地址 $url = 'http://www.w6166.cn'; $html = file_get_contents($url); $dom = new DOMDocument(); @$dom->loadHTML($html); $xpath = new DOMXPath($dom); $links = $xpath->query('//a/@href'); // 整理鏈接地址 $urls = array(); foreach ($links as $link) { $href = $link->nodeValue; $href=str_replace(' ', '', $href); if ($href == 'javascript:void(0)' || $href == 'javascript:;' ){ continue; } $preg = "/^tel?:/"; if (preg_match($preg, $href)){ continue; } $preg = "/^http(s)?:\\/\\/.+/"; if(preg_match($preg,$href)){ continue; }else{ $href=$url.$href; } // 去掉鏈接末尾的斜杠 $link = rtrim($href, '/'); // 去除重復鏈接 if (in_array($link, $urls)) { continue; } $urls[] = $link; } // 添加鏈接地址到 XML 文件中 foreach ($urls as $url) { $url_node = $xml->createElement('url'); $loc_node = $xml->createElement('loc', $url); $url_node->appendChild($loc_node); $urlset->appendChild($url_node); } // 輸出 XML 文件內容 echo $xml->saveXML();
[聲明]原創不易,請轉發者備注下文章來源(hbsjsd.cn)【速建時代】。