]> git.mxchange.org Git - friendica.git/blobdiff - src/Network/Probe.php
Merge pull request #8328 from annando/clean-uri
[friendica.git] / src / Network / Probe.php
index b547c430564e9977e69e2f13e88faa8869bab271..771312f6ec8498b3d64712d41d9052e86fa3328f 100644 (file)
@@ -47,6 +47,31 @@ class Probe
        private static $baseurl;
        private static $istimeout;
 
+       /**
+        * Remove stuff from an URI that doesn't belong there
+        *
+        * @param string $URI
+        * @return string Cleaned URI
+        */
+       public static function cleanURI(string $URI)
+       {
+               // At first remove leading and trailing junk
+               $URI = trim($URI, "@#?:/ \t\n\r\0\x0B");
+
+               $parts = parse_url($URI);
+
+               if (empty($parts['scheme'])) {
+                       return $URI;
+               }
+
+               // Remove the URL fragment, since these shouldn't be part of any profile URL
+               unset($parts['fragment']);
+
+               $URI = Network::unparseURL($parts);
+
+               return $URI;
+       }
+
        /**
         * Rearrange the array so that it always has the same order
         *