是否有将 URL 路径拆分为路径组件的特定(标准化)方法?我查看了 RFC 2396,但看不到这样做的例程。
最初我只是在遇到 each 时使用 PHP 的explode()
方法将字符串分解为一个数组/
,但是在针对 Cocoa 的NSURL
类进行测试时,我得到了两个不同的结果:
测试网址:https ://example.com/rest/api///v2.1.1/noun/verb////12345/additional/stuff///
NSURL:
["/", "rest", "api", "v2.1.1", "noun", "verb", "12345", "additional", "stuff", "/“]
我的PHP方法:
Array ( [0] => [1] => rest [2] => api [3] => [4] => [5] => v2.1.1 [6] => noun [7] => verb [8] => [9] => [10] => [11] => 12345 [12] => additional [13] => stuff [14] => [15] => [16] => )
我意识到 RFC 2396 已被 RFC 3986 取代,但 NSURL 使用 2396,这就是我正在测试的内容,因为它将是客户端实现。