| @@ -2244,10 +2244,15 @@ | ||
| 2244 | 2244 | if (!is_string($url) || '' === trim($url)) { |
| 2245 | 2245 | return false; |
| 2246 | 2246 | } |
| 2247 | 2247 | |
| 2248 | - // IRI-aware: a non-ASCII path or IDN host is a real URL (#924). | |
| 2249 | - return \ThinkRank\Core\Url_Validator::is_http_url($url); | |
| 2248 | + if (!filter_var($url, FILTER_VALIDATE_URL)) { | |
| 2249 | + return false; | |
| 2250 | + } | |
| 2251 | + | |
| 2252 | + $scheme = wp_parse_url($url, PHP_URL_SCHEME); | |
| 2253 | + | |
| 2254 | + return in_array(strtolower((string) $scheme), ['http', 'https'], true); | |
| 2250 | 2255 | } |
| 2251 | 2256 | |
| 2252 | 2257 | /** |
| 2253 | 2258 | * Drop values that are not URLs from URL-typed properties. |