Ниже приведен код. Кажется, что вообще не открывается календарь Google. Я считаю, что это имеет какое-то отношение к URL-адресу, который я использую, и, возможно, к специальному персонажу. Я получаю следующее:
Warning: DOMDocument::loadHTMLFile() [domdocument.loadhtmlfile]: I/O warning : failed to load external entity "https://www.google.com/calendar/feeds/tjd@dreilinginc.com/public/basic" on line 4 <? $dom = new DOMDocument(); $feed = "https://www.google.com/calendar/feeds/tjd@dreilinginc.com/public/basic"; $html = $dom->loadHTMLFile($feed); $dom->preserveWhiteSpace = true; $entries = $dom->getElementsByTagName("entry"); foreach ( $entries as $entry ) { $status = $entry->getElementsByTagName( "eventStatus" ); $eventStatus = $status->item(0)->getAttributeNode("value")->value; if ($eventStatus == $confirmed) { $titles = $entry->getElementsByTagName( "title" ); $title = $titles->item(0)->nodeValue; $times = $entry->getElementsByTagName( "when" ); $startTime = $times->item(0)->getAttributeNode("startTime")->value; $when = date( "l jS \o\f FY - h:i A", strtotime( $startTime ) ); $places = $entry->getElementsByTagName( "where" ); $where = $places->item(0)->getAttributeNode("valueString")->value; print $title . "\n"; print $when . " AST\n"; print $where . "\n"; print "\n"; } } ?>
Насколько мне известно, DOMDocument::loadHTMLFile()
способен согласовывать SSL, но если он не работает, вы можете попробовать file_get_contents()
чтобы сначала прочитать файл в строку.
$dom = new DOMDocument(); $feed = "https://www.google.com/calendar/feeds/tjd@dreilinginc.com/public/basic"; $feed_string = file_get_contents($feed); $html = $dom->loadHTMLFile($feed_string);
Однако это вполне умозрительно. Рассматривайте это как таковое.
EDIT Убедитесь, что allow_url_fopen
включен в вашем php.ini.