/** * Factory object from a string that contains a URL * * Example of usage: * $site_url = WordPressHTTPS_Url::fromString( site_url() ); * * @param string $string * @return $url WordPressHTTPS_Url */ public static function fromString($string) { $url = new WordPressHTTPS_Url(); @preg_match_all('/((http|https):\\/\\/[^\'"]+)[\'"\\)]?/i', $string, $url_parts); if (isset($url_parts[1][0])) { if ($url_parts = parse_url($url_parts[1][0])) { $url->setScheme(@$url_parts['scheme']); $url->setUser(@$url_parts['user']); $url->setPass(@$url_parts['pass']); $url->setHost(@$url_parts['host']); $url->setPort(@$url_parts['port']); $url->setPath(@$url_parts['path']); $url->setQuery(@$url_parts['query']); $url->setFragment(@$url_parts['fragment']); return $url; } } else { return false; } return $url; }