/** * Converts all root-relative URLs to absolute URLs in RSS markup. * * Does not change any existing protocol-relative or absolute URLs. * * @param string $rss_markup * The RSS markup to update. * @param \Symfony\Component\HttpFoundation\Request $request * The current request. * * @return string * The updated RSS markup. */ protected function transformRootRelativeUrlsToAbsolute($rss_markup, Request $request) { $rss_dom = new \DOMDocument(); $rss_dom->loadXML($rss_markup); // Invoke Html::transformRootRelativeUrlsToAbsolute() on all HTML content // embedded in this RSS feed. foreach ($rss_dom->getElementsByTagName('description') as $node) { $html_markup = $node->nodeValue; if (!empty($html_markup)) { $node->nodeValue = Html::transformRootRelativeUrlsToAbsolute($html_markup, $request->getSchemeAndHttpHost()); } } return $rss_dom->saveXML(); }