Re: String Parse Help for novice

From: Date: Sun, 13 Jun 2010 22:42:41 +0000
Subject: Re: String Parse Help for novice
References: 1 2 3 4 5 6  Groups: php.general 
Request: Send a blank email to php-general+get-306109@lists.php.net to get a copy of this message
On Jun 13, 2010, at 5:40 PM, Ashley Sheridan wrote:
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
Ahh.. that makes sense. Thanks Ash. Karl DeSaulniers Design Drumm http://designdrumm.com

« previous php.general (#306109) next »