![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/www/wp-content/plugins/wp-rocket/inc/Engine/Preload/Frontend/ |
<?php namespace WP_Rocket\Engine\Preload\Frontend; use SimpleXMLElement; class SitemapParser { /** * XML document to parse. * * @var SimpleXMLElement|false */ protected $xml; /** * Set the content from the sitemap to parse. * * @param string $content content from the sitemap to parse. */ public function set_content( string $content ) { libxml_use_internal_errors( true ); $this->xml = simplexml_load_string( $content ); } /** * Get links to sitemaps. * * @return array */ public function get_links(): array { $links = []; if ( false === $this->xml ) { return []; } $url_count = count( $this->xml->url ); for ( $i = 0; $i < $url_count; $i++ ) { $url = (string) $this->xml->url[ $i ]->loc; if ( ! $url ) { continue; } $links [] = $url; } return $links; } /** * Get children sitemaps. * * @return array */ public function get_children(): array { $children = []; if ( false === $this->xml ) { return []; } $sitemap_children = count( $this->xml->sitemap ); for ( $i = 0; $i < $sitemap_children; $i++ ) { $url = (string) $this->xml->sitemap[ $i ]->loc; if ( ! $url ) { continue; } $children [] = $url; } return $children; } }