在php中解析一个字符串

时间:2015-06-18 10:34:46

标签: php

我想知道如何解析此字符串以获取某个名称或字符串。我需要解析的是:

items/category/test.txt

要获得test.txt当然会有不同的名称,所以我无法替换它。

我需要结果:

items/category/ 

另外我如何解析它才能获得/category/

3 个答案:

答案 0 :(得分:0)

使用explode将上面的字符串作为数组

$string = "tems/category/test.txt";
$string_array = explode("/",$string);
print_r($string_array); // Will Output above as an array
// to get items/category/
$var = $string_array[0].'/'.$string_array[1];
echo $var; //will output as items/category/ 
$var2 = '/'.$string_array[1].'/';
echo $var2; //will output as /category/ 

答案 1 :(得分:0)

使用PHP的pathinfo()函数:

http://php.net/manual/en/function.pathinfo.php

$info = pathinfo('items/category/test.txt');
$dirPath = $info['dirname'];

// OR

$dirPath = pathinfo('items/category/test.txt', PATHINFO_DIRNAME);

// Output: items/category

答案 2 :(得分:0)

我相信你最好的机会是explode("/","items/category/test.txt")。 这会在每次发现 / 返回数组时拼接字符串,而implodejoin是它的别名)将加入一个字符串数组,所以

$spli=explode("/","items/category/test.txt");
implode($spli[0],$spli[1]);

应该为第一种情况做诀窍,返回items/category
category$spli[1]就足够了。

当然,您可以将字符串作为变量传递,例如
$foo="items/category/test.txt;" explode("/",$foo);