URL路径处理

时间:2012-02-03 00:44:16

标签: php

我正在尝试从站点获取基本URL,并且能够在路径中打印第一个和可能的第二个目录。我在下面测试的代码适用于任何超过2个目录的代码(例如dir / dir / title)。问题是路径中只有1个或2个目录(例如dir / title或just title)。

<?php
$path = "dir/dir/dir/title";
$posl = substr($path, 0, strpos($path, "/"));
$post_strip = $posl."/";
$new_path = str_replace($post_strip, "", $path);
$new_path = substr($new_path, 0, strpos($new_path, "/"));
echo $new_path;
?>

我还在想可能有一些方法可以在斜杠处拆分路径字符串,并将每个字符串作为数组保存。因此,我可以打印数组的特定值,因为它对应于它在路径中的位置。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

您可以使用explode()parse_url()

$url   = parse_url('http://example.com/dir1/dir2/dir3/dir4/');

$path  = explode('/',$url['path']);

$path  = array_filter($path); //remove empty value from array

print_r($path); //output: Array ( [1] => dir1 [2] => dir2 [3] => dir3 [4] => dir4 )