aboutsummaryrefslogtreecommitdiff
path: root/lib/lib_rss.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/lib_rss.php')
-rw-r--r--lib/lib_rss.php12
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/lib_rss.php b/lib/lib_rss.php
index 52c986433..8a58d2124 100644
--- a/lib/lib_rss.php
+++ b/lib/lib_rss.php
@@ -74,15 +74,19 @@ function idn_to_puny($url) {
return $url;
}
-function checkUrl($url) {
+function checkUrl($url, $fixScheme = true) {
+ $url = trim($url);
if ($url == '') {
return '';
}
- if (!preg_match('#^https?://#i', $url)) {
- $url = 'http://' . $url;
+ if ($fixScheme && !preg_match('#^https?://#i', $url)) {
+ $url = 'https://' . ltrim($url, '/');
}
+
$url = idn_to_puny($url); //PHP bug #53474 IDN
- if (filter_var($url, FILTER_VALIDATE_URL)) {
+ $urlRelaxed = str_replace('_', 'z', $url); //PHP discussion #64948 Underscore
+
+ if (filter_var($urlRelaxed, FILTER_VALIDATE_URL)) {
return $url;
} else {
return false;