Browse Source

Better handling of protocol-relative favicons

https://github.com/ArthurHoaro/favicon/pull/6/commits/cd5f98ecdd1d38e8bc5d87fd09c80079a74191ba
https://github.com/FreshRSS/FreshRSS/pull/1504
Alexandre Alapetite 9 years ago
parent
commit
2ffb00c37f
1 changed files with 6 additions and 1 deletions
  1. 6 1
      lib/favicons.php

+ 6 - 1
lib/favicons.php

@@ -61,7 +61,12 @@ function searchFavicon(&$url) {
 					strtolower(trim($link->getAttribute('rel'))) === $rel) {
 					$href = trim($link->getAttribute('href'));
 					if (substr($href, 0, 2) === '//') {
-						$href = 'https:' . $href;
+						// Case of protocol-relative URLs
+						if (preg_match('%^(https?:)//%i', $url, $matches)) {
+							$href = $matches[1] . $href;
+						} else {
+							$href = 'https:' . $href;
+						}
 					}
 					if (filter_var($href, FILTER_VALIDATE_URL) === false) {
 						$href = SimplePie_IRI::absolutize($url, $href);