forked from php/php-src
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathparse_url_basic_003.phpt
127 lines (124 loc) · 5.79 KB
/
parse_url_basic_003.phpt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
--TEST--
Test parse_url() function: Parse a load of URLs without specifying PHP_URL_HOST as the URL component
--FILE--
<?php
/* Prototype : proto mixed parse_url(string url, [int url_component])
* Description: Parse a URL and return its components
* Source code: ext/standard/url.c
* Alias to functions:
*/
/*
* Parse a load of URLs without specifying PHP_URL_HOST as the URL component
*/
include_once(dirname(__FILE__) . '/urls.inc');
foreach ($urls as $url) {
echo "--> $url : ";
var_dump(parse_url($url, PHP_URL_HOST));
}
echo "Done";
?>
--EXPECTF--
--> 64.246.30.37 : NULL
--> http://64.246.30.37 : string(12) "64.246.30.37"
--> http://64.246.30.37/ : string(12) "64.246.30.37"
--> 64.246.30.37/ : NULL
--> 64.246.30.37:80/ : string(12) "64.246.30.37"
--> php.net : NULL
--> php.net/ : NULL
--> http://php.net : string(7) "php.net"
--> http://php.net/ : string(7) "php.net"
--> www.php.net : NULL
--> www.php.net/ : NULL
--> http://www.php.net : string(11) "www.php.net"
--> http://www.php.net/ : string(11) "www.php.net"
--> www.php.net:80 : string(11) "www.php.net"
--> http://www.php.net:80 : string(11) "www.php.net"
--> http://www.php.net:80/ : string(11) "www.php.net"
--> http://www.php.net/index.php : string(11) "www.php.net"
--> www.php.net/? : NULL
--> www.php.net:80/? : string(11) "www.php.net"
--> http://www.php.net/? : string(11) "www.php.net"
--> http://www.php.net:80/? : string(11) "www.php.net"
--> http://www.php.net:80/index.php : string(11) "www.php.net"
--> http://www.php.net:80/foo/bar/index.php : string(11) "www.php.net"
--> http://www.php.net:80/this/is/a/very/deep/directory/structure/and/file.php : string(11) "www.php.net"
--> http://www.php.net:80/this/is/a/very/deep/directory/structure/and/file.php?lots=1&of=2¶meters=3&too=4&here=5 : string(11) "www.php.net"
--> http://www.php.net:80/this/is/a/very/deep/directory/structure/and/ : string(11) "www.php.net"
--> http://www.php.net:80/this/is/a/very/deep/directory/structure/and/file.php : string(11) "www.php.net"
--> http://www.php.net:80/this/../a/../deep/directory : string(11) "www.php.net"
--> http://www.php.net:80/this/../a/../deep/directory/ : string(11) "www.php.net"
--> http://www.php.net:80/this/is/a/very/deep/directory/../file.php : string(11) "www.php.net"
--> http://www.php.net:80/index.php : string(11) "www.php.net"
--> http://www.php.net:80/index.php? : string(11) "www.php.net"
--> http://www.php.net:80/#foo : string(11) "www.php.net"
--> http://www.php.net:80/?# : string(11) "www.php.net"
--> http://www.php.net:80/?test=1 : string(11) "www.php.net"
--> http://www.php.net/?test=1& : string(11) "www.php.net"
--> http://www.php.net:80/?& : string(11) "www.php.net"
--> http://www.php.net:80/index.php?test=1& : string(11) "www.php.net"
--> http://www.php.net/index.php?& : string(11) "www.php.net"
--> http://www.php.net:80/index.php?foo& : string(11) "www.php.net"
--> http://www.php.net/index.php?&foo : string(11) "www.php.net"
--> http://www.php.net:80/index.php?test=1&test2=char&test3=mixesCI : string(11) "www.php.net"
--> www.php.net:80/index.php?test=1&test2=char&test3=mixesCI#some_page_ref123 : string(11) "www.php.net"
--> http://[email protected]:80/index.php?test=1&test2=char&test3=mixesCI#some_page_ref123 : string(11) "www.php.net"
--> http://secret:@www.php.net/index.php?test=1&test2=char&test3=mixesCI#some_page_ref123 : string(11) "www.php.net"
--> http://:[email protected]:80/index.php?test=1&test2=char&test3=mixesCI#some_page_ref123 : string(11) "www.php.net"
--> http://secret:[email protected]/index.php?test=1&test2=char&test3=mixesCI#some_page_ref123 : string(11) "www.php.net"
--> http://secret@[email protected]:80/index.php?test=1&test2=char&test3=mixesCI#some_page_ref123 : string(11) "www.php.net"
--> http://secret:hid:[email protected]:80/index.php?test=1&test2=char&test3=mixesCI#some_page_ref123 : string(11) "www.php.net"
--> nntp://news.php.net : string(12) "news.php.net"
--> ftp://ftp.gnu.org/gnu/glic/glibc.tar.gz : string(11) "ftp.gnu.org"
--> zlib:http://foo@bar : NULL
--> zlib:filename.txt : NULL
--> zlib:/path/to/my/file/file.txt : NULL
--> foo://foo@bar : string(3) "bar"
--> mailto:[email protected] : NULL
--> /foo.php?a=b&c=d : NULL
--> foo.php?a=b&c=d : NULL
--> http://user:[email protected]:8080?bar=1&boom=0 : string(15) "www.example.com"
--> file:///path/to/file : NULL
--> file://path/to/file : string(4) "path"
--> file:/path/to/file : NULL
--> http://1.2.3.4:/abc.asp?a=1&b=2 : string(7) "1.2.3.4"
--> http://foo.com#bar : string(7) "foo.com"
--> scheme: : NULL
--> foo+bar://baz@bang/bla : string(4) "bang"
--> gg:9130731 : NULL
--> http://user:@pass@host/path?argument?value#etc : string(4) "host"
--> http://10.10.10.10/:80 : string(11) "10.10.10.10"
--> http://x:? : string(1) "x"
--> x:blah.com : NULL
--> x:/blah.com : NULL
--> x://::abc/? : bool(false)
--> http://::? : string(1) ":"
--> http://::# : string(1) ":"
--> x://::6.5 : string(1) ":"
--> http://?:/ : string(1) "?"
--> http://@?:/ : string(1) "?"
--> file:///: : NULL
--> file:///a:/ : NULL
--> file:///ab:/ : NULL
--> file:///a:/ : NULL
--> file:///@:/ : NULL
--> file:///:80/ : NULL
--> [] : NULL
--> http://[x:80]/ : string(6) "[x:80]"
--> : NULL
--> / : NULL
--> /rest/Users?filter={"id":"123"} : NULL
--> http:///blah.com : bool(false)
--> http://:80 : bool(false)
--> http://user@:80 : bool(false)
--> http://user:pass@:80 : bool(false)
--> http://: : bool(false)
--> http://@/ : bool(false)
--> http://@:/ : bool(false)
--> http://:/ : bool(false)
--> http://? : bool(false)
--> http://# : bool(false)
--> http://?: : bool(false)
--> http://:? : bool(false)
--> http://blah.com:123456 : bool(false)
--> http://blah.com:abcdef : bool(false)
Done