| 
	
 | 
 Posted by Bent Stigsen on 05/29/06 14:43 
frizzle wrote: 
> Bent Stigsen wrote: 
>> frizzle wrote: 
>> [snip] 
>>> $_SERVER['QUERY_STRING'] = '/artists/nirvana/mtv_unplugged' 
>>> $array[0] => artists 
>>> $array[1] => nirvana 
>>> $array[2] => mtv_unplugged 
>>> $array[3] => NULL 
>> [snip] 
>> 
>> This one above is your real problem. You would need some mechanism to 
>> determine what kind last element is, file or part of path. A lazy way 
>> could be to set the criteria or just make the assumption that files 
>> always has an attached extension (i.e. '.' in the name). 
>> 
>> For instance: 
>> function DefineLoc(){ 
>>    $loc = explode('/', trim( $_SERVER['QUERY_STRING'], '/' ) ); 
>>    if (strrpos(end($loc), '.')===false) $loc[] = null; 
>>    reset($loc); 
>>    return $loc; 
>> }; 
>> 
>> If you have pathnames containing '.', then you would have to write 
>> some code that can make the distinction. 
>> 
>> /Bent 
>  
> Actually what i have is quite similar to what you suggest. But it still 
> doesn't solve my double slash problem, where the value should be NULL. 
 
If I run this: 
$url = '/artists//mtv_unplugged/'; 
$loc = explode('/', trim( $url, '/' ) ); 
if (strrpos(end($loc), '.')===false) $loc[] = null; 
print_r($loc); 
 
I get: 
Array 
( 
     [0] => artists 
     [1] => 
     [2] => mtv_unplugged 
     [3] => 
) 
 
Isn't that what you want? 
 
 
/Bent 
 
[snip]
 
  
Navigation:
[Reply to this message] 
 |