<?php
$your_google_calendar="https://www.google.com/calendar/htmlembed?src=cmh3hdnl7d4j8u29t3ekb67cg8%40group.calendar.google.com&ctz=America/New_York";
$url= parse_url($your_google_calendar);
$google_domain = $url['scheme'].'://'.$url['host'].dirname($url['path']).'/';
// Load and parse Google's raw calendar
$dom = new DOMDocument;
$dom->loadHTMLfile($your_google_calendar);
// Change Google's CSS file to use absolute URLs (assumes there's only one element)
$css = $dom->getElementsByTagName('link')->item(0);
$css_href = $css->getAttributes('href');
$css->setAttributes('href', $google_domain . $css_href);
// Change Google's JS file to use absolute URLs
$scripts = $dom->getElementsByTagName('script')->item(0);
foreach ($scripts as $script) {
$js_src = $script->getAttributes('src');
if ($js_src) $script->setAttributes('src', $google_domain . $js_src);
}
// Create a link to a new CSS file called custom_calendar.css
$element = $dom->createElement('link');
$element->setAttribute('type', 'text/css');
$element->setAttribute('rel', 'stylesheet');
$element->setAttribute('href', '/custom_calendar.css');
// Append this link at the end of the element
$head = $dom->getElementsByTagName('head')->item(0);
$head->appendChild($element);
// Export the HTML
echo $dom->saveHTML();
?>
Warning: DOMDocument::loadHTMLFile(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in /in/YjNNJ on line 12
Warning: DOMDocument::loadHTMLFile(): I/O warning : failed to load external entity "https://www.google.com/calendar/htmlembed?src=cmh3hdnl7d4j8u29t3ekb67cg8%40group.calendar.google.com&ctz=America/New_York" in /in/YjNNJ on line 12
Fatal error: Uncaught Error: Call to a member function getAttributes() on null in /in/YjNNJ:16
Stack trace:
#0 {main}
thrown in /in/YjNNJ on line 16
Process exited with code 255.
Output for 5.6.0 - 5.6.40
Warning: DOMDocument::loadHTMLFile(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in /in/YjNNJ on line 12
Warning: DOMDocument::loadHTMLFile(): I/O warning : failed to load external entity "https://www.google.com/calendar/htmlembed?src=cmh3hdnl7d4j8u29t3ekb67cg8%40group.calendar.google.com&ctz=America/New_York" in /in/YjNNJ on line 12
Fatal error: Call to a member function getAttributes() on null in /in/YjNNJ on line 16
Process exited with code 255.
Warning: DOMDocument::loadHTMLFile(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in /in/YjNNJ on line 12
Warning: DOMDocument::loadHTMLFile(): I/O warning : failed to load external entity "https://www.google.com/calendar/htmlembed?src=cmh3hdnl7d4j8u29t3ekb67cg8%40group.calendar.google.com&ctz=America/New_York" in /in/YjNNJ on line 12
Fatal error: Call to a member function getAttributes() on a non-object in /in/YjNNJ on line 16
Process exited with code 255.
Output for 5.2.3 - 5.2.17
Warning: DOMDocument::loadHTMLFile(): I/O warning : failed to load external entity "https://www.google.com/calendar/htmlembed?src=cmh3hdnl7d4j8u29t3ekb67cg8%40group.calendar.google.com&ctz=America/New_York" in /in/YjNNJ on line 12
Fatal error: Call to a member function getAttributes() on a non-object in /in/YjNNJ on line 16
Process exited with code 255.
Output for 5.1.3 - 5.1.6, 5.2.0 - 5.2.2
<br />
<b>Warning</b>: DOMDocument::loadHTMLFile() [<a href='function.DOMDocument-loadHTMLFile'>function.DOMDocument-loadHTMLFile</a>]: I/O warning : failed to load external entity "https://www.google.com/calendar/htmlembed?src=cmh3hdnl7d4j8u29t3ekb67cg8%40group.calendar.google.com&amp;ctz=America/New_York" in <b>/in/YjNNJ</b> on line <b>12</b><br />
<br />
<b>Fatal error</b>: Call to a member function getAttributes() on a non-object in <b>/in/YjNNJ</b> on line <b>16</b><br />
Process exited with code 255.
Output for 5.1.0 - 5.1.2
<br />
<b>Warning</b>: DOMDocument::loadHTMLFile() [<a href='function.loadHTMLFile'>function.loadHTMLFile</a>]: I/O warning : failed to load external entity "https://www.google.com/calendar/htmlembed?src=cmh3hdnl7d4j8u29t3ekb67cg8%40group.calendar.google.com&amp;ctz=America/New_York" in <b>/in/YjNNJ</b> on line <b>12</b><br />
<br />
<b>Fatal error</b>: Call to a member function getAttributes() on a non-object in <b>/in/YjNNJ</b> on line <b>16</b><br />
Process exited with code 255.
Output for 5.0.0 - 5.0.5
<br />
<b>Warning</b>: I/O warning : failed to load external entity "https://www.google.com/calendar/htmlembed?src=cmh3hdnl7d4j8u29t3ekb67cg8%40group.calendar.google.com&ctz=America/New_York" in <b>/in/YjNNJ</b> on line <b>12</b><br />
<br />
<b>Fatal error</b>: Call to a member function getAttributes() on a non-object in <b>/in/YjNNJ</b> on line <b>16</b><br />
Process exited with code 255.
Output for 4.4.2 - 4.4.9
<br />
<b>Parse error</b>: syntax error, unexpected T_OBJECT_OPERATOR in <b>/in/YjNNJ</b> on line <b>15</b><br />
Process exited with code 255.