note 44943 deleted from function.fsockopen by aidan
| From: | aidan@php.net | Date: | Sun, 21 Nov 2004 08:01:44 +0000 |
| Subject: | note 44943 deleted from function.fsockopen by aidan | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-80817@lists.php.net to get a copy of this message | ||
Note Submitter: ataynet at ataynet dot com
----
Best url validator and parser function i have ever WRITE. ;)
Expression must be in a single line.
function explode_url($url) {
$temp["check"] = preg_match("/^(https{0,1}):\/\/((([a-zA-Z0-9-]{1,})
(:([a-zA-Z0-9-]{0,}))@){0,1})(([a-z0-9-]{1,}\.){0,1}
([a-z0-9-]{1,}\.[a-z0-9-]{1,})(\.[a-z0-9-]{1,}){0,1})
((:([0-9]{1,})){0,1})((\/([a-z0-9-]{1,}\/){0,})(([a-z-0-9-]{1,}
(\.([a-z-0-9-]{1,})){0,}){0,1})((\?([^#?]{1,})){0,1})
((#([^#]{0,})){0,1})){0,1}$/", $url, $explode);
if ($temp["check"]) {
$temp["scheme"] = (!empty($explode[1])) ? $explode[1] : "";
$temp["user"] = (!empty($explode[4])) ? $explode[4] : "";
$temp["pass"] = (!empty($explode[6])) ? $explode[6] : "";
$temp["host"] = (!empty($explode[7])) ? $explode[7] : "";
$temp["port"] = (!empty($explode[13])) ? $explode[13] : "";
$temp["path"] = (!empty($explode[15])) ? $explode[15] : "";
$temp["basename"] = (!empty($explode[17])) ? $explode[17] : "";
$temp["extension"] = (!empty($explode[20])) ? $explode[20] : "";
$temp["query"] = (!empty($explode[23])) ? $explode[23] : "";
$temp["fragment"] = (!empty($explode[26])) ? $explode[26] : "";
}
return $temp;
}