diff --git a/bridges/BastaBridge.php b/bridges/BastaBridge.php index 613005fd8fb..14ad3e53ab8 100644 --- a/bridges/BastaBridge.php +++ b/bridges/BastaBridge.php @@ -19,13 +19,11 @@ public function collectData(){ $item['title'] = $element->find('title', 0)->innertext; $item['uri'] = $element->find('guid', 0)->plaintext; $item['timestamp'] = strtotime($element->find('dc:date', 0)->plaintext); - // Replaces all relative image URLs by absolute URLs. - // Relative URLs always start with 'local/'! - $item['content'] = preg_replace( - '/src=["\']{1}([^"\']+)/ims', - 'src=\'' . self::URI . '$1\'', - getSimpleHTMLDOM($item['uri'])->find('div.texte', 0)->innertext - ); + + $html = getSimpleHTMLDOM($item['uri']); + $html = defaultLinkTo($html, self::URI); + + $item['content'] = $html->find('div.texte', 0)->innertext; $this->items[] = $item; $limit++; } diff --git a/bridges/KernelBugTrackerBridge.php b/bridges/KernelBugTrackerBridge.php index d617b80fd17..813219664cb 100644 --- a/bridges/KernelBugTrackerBridge.php +++ b/bridges/KernelBugTrackerBridge.php @@ -61,6 +61,8 @@ public function collectData(){ if($html === false) returnServerError('Failed to load page!'); + $html = defaultLinkTo($html, self::URI); + // Store header information into private members $this->bugid = $html->find('#bugzilla-body', 0)->find('a', 0)->innertext; $this->bugdesc = $html->find('table.bugfields', 0)->find('tr', 0)->find('td', 0)->innertext; @@ -93,7 +95,7 @@ public function collectData(){ $item['content'] = str_replace("\n", '
', $item['content']); // Fix relative URIs - $item['content'] = $this->replaceRelativeURI($item['content']); + $item['content'] = $item['content']; $this->items[] = $item; } @@ -125,17 +127,6 @@ public function getName(){ } } - /** - * Replaces all relative URIs with absolute ones - * - * @param string $content The source string - * @return string Returns the source string with all relative URIs replaced - * by absolute ones. - */ - private function replaceRelativeURI($content){ - return preg_replace('/href="(?!http)/', 'href="' . self::URI . '/', $content); - } - /** * Adds styles as attributes to tags with known classes * diff --git a/bridges/ReporterreBridge.php b/bridges/ReporterreBridge.php index 41f0f70ffc7..6148be138a6 100644 --- a/bridges/ReporterreBridge.php +++ b/bridges/ReporterreBridge.php @@ -8,6 +8,7 @@ class ReporterreBridge extends BridgeAbstract { private function extractContent($url){ $html2 = getSimpleHTMLDOM($url); + $html2 = defaultLinkTo($html2, self::URI); foreach($html2->find('div[style=text-align:justify]') as $e) { $text = $e->outertext; @@ -16,13 +17,6 @@ private function extractContent($url){ $html2->clear(); unset($html2); - // Replace all relative urls with absolute ones - $text = preg_replace( - '/(href|src)(\=[\"\'])(?!http)([^"\']+)/ims', - '$1$2' . self::URI . '$3', - $text - ); - $text = strip_tags($text, '


'); return $text; }