On Sun, 2010-06-13 at 17:35 -0500, Karl DeSaulniers wrote: > On Jun 13, 2010, at 5:31 PM, Ashley Sheridan wrote: > > > On Sun, 2010-06-13 at 17:27 -0500, Karl DeSaulniers wrote: > > > >> On Jun 13, 2010, at 5:23 PM, Ashley Sheridan wrote: > >> > >>> On Sun, 2010-06-13 at 18:13 -0400, Rick Dwyer wrote: > >>> > >>>> Hello List. > >>>> > >>>> I need to parse the PATH portion of URL. I have assigned the path > >>>> portion to a variable using the following: > >>>> > >>>> $thepath = parse_url($url); > >>>> > >>>> > >>>> Now I need to break each portion of the path down into its own > >>>> variable. The problem is, the path can vary considerably as > >>>> follows: > >>>> > >>>> /mydirectory/mysubdirectory/anothersubdirectory/mypage.php > >>>> > >>>> vs. > >>>> > >>>> /mydirectory/mypage.php > >>>> > >>>> How do I get the either of the above url paths broken out so the > >>>> variables equal the following > >>>> > >>>> $dir1 = mydirectory > >>>> $dir2 = mysubdirectory > >>>> $dir3 = anothersubdirectory > >>>> $page = mypage.php > >>>> > >>>> ...etc... if there were 5 more subdirectories... they would be > >>>> dynamically assigned to a variable. > >>>> > >>>> Thanks for any help. > >>>> > >>>> --Rick > >>>> > >>>> > >>>> > >>> > >>> > >>> $filename = basename($path); > >>> $parts = explode('/', $path); > >>> $directories = array_pop($parts); > >>> > >>> Now you have your directories in the $directories array and the > >>> filename > >>> in $filename. > >>> > >>> Thanks, > >>> Ash > >>> http://www.ashleysheridan.co.uk > >>> > >>> > >> > >> > >> Hi Ash, > >> What about the "//" in the beginning? > >> > >> > >> Karl DeSaulniers > >> Design Drumm > >> http://designdrumm.com > >> > >> > > > > > > As your example string didn't have a double slash I didn't write code > > for that, but it's easy enough to remove 0-length strings from the > > $directories array. > > > > Thanks, > > Ash > > http://www.ashleysheridan.co.uk > > > > > > :) Rick's example, but how in your example do we look for a double > forward slash? > THX > > Karl DeSaulniers > Design Drumm > http://designdrumm.com > > You don't look for one, that's the point. The explode() breaks the string into an array at every occurrence of a '/' character. This will leave zero length strings in the array if there is a double // (which wasn't in any given example in this thread that I saw) When you use the array, just don't do anything with empty elements! Thanks, Ash http://www.ashleysheridan.co.uk