WordPress 3.6.1
[autoinstalls/wordpress.git] / wp-includes / link-template.php
index f52f8ea2e4a659ebfd34bce15a004ce3c8f36446..1029d9df53a275b9076669841165e1b2c03aef08 100644 (file)
@@ -2238,10 +2238,17 @@ function set_url_scheme( $url, $scheme = null ) {
                        $scheme = ( is_ssl() ? 'https' : 'http' );
        }
 
-       if ( 'relative' == $scheme )
-               $url = preg_replace( '#^.+://[^/]*#', '', $url );
-       else
-               $url = preg_replace( '#^.+://#', $scheme . '://', $url );
+       $url = trim( $url );
+       if ( substr( $url, 0, 2 ) === '//' )
+               $url = 'http:' . $url;
+
+       if ( 'relative' == $scheme ) {
+               $url = ltrim( preg_replace( '#^\w+://[^/]*#', '', $url ) );
+               if ( $url !== '' && $url[0] === '/' )
+                       $url = '/' . ltrim($url , "/ \t\n\r\0\x0B" );
+       } else {
+               $url = preg_replace( '#^\w+://#', $scheme . '://', $url );
+       }
 
        return apply_filters( 'set_url_scheme', $url, $scheme, $orig_scheme );
 }