X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/61343b82c4f0da4c68e4c6373daafff4a81efdd1..a6f44f0edcda2471c5a33e4156c1c9488c7f3210:/wp-includes/link-template.php?ds=sidebyside diff --git a/wp-includes/link-template.php b/wp-includes/link-template.php index f52f8ea2..1029d9df 100644 --- a/wp-includes/link-template.php +++ b/wp-includes/link-template.php @@ -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 ); }