2016-03-01 54 views
-1

我目前正在处理干净的URL并且一直存在这个问题。 URL:http://localhost:8080/Pumps/Piston-pumps在PHP中分隔数组的值

$request_path = explode('?', $_SERVER['REQUEST_URI']); 
$path_info = array_values($request_path); 
echo str_replace('/',' ',$request_path[0]); 
print_r($path_info); 

上面的代码,给出以下输出:

泵活塞 - 泵 阵列([0] => /泵/活塞泵)

是否有一种方法可以上述数组转换成:

Array ([0] => Pumps [1] => piston-pumps) 

我需要这个添加到我的网址

在此先感谢

+0

增加了一些更加阵列的内容,检查出什么可能会发生一些可能性。 – ameenulla0007

+0

非常简单,你应该再次使用斜线爆炸,爆炸(“/”,$ path_info); – ameenulla0007

+0

用斜线再次爆炸('/') –

回答

1

<?php 
$getUrl  = "http://localhost:8080/Pumps/Piston-pumps"; // in your case it is $_SERVER['REQUEST_URI']; 
$request_path = explode('?', str_ireplace(array("http://","https://"),"",$getUrl)); 
$expSlashes = explode("/", $request_path[0]); 
$resultArr  = array_slice($expSlashes, 1, count($expSlashes)); 
print_r($resultArr); 
?> 

使用explodearray_slice会导致你与你所需的输出。

explode使用带有针头的子串

array_slice分割字符串被用来创建数组内容有限,所需数量的另一个数组

+0

谢谢@ ameenulla ..很好理解;) –

+0

是的,你总是欢迎队友@ GautamPBehera – ameenulla0007

0

请尝试下面的代码。

$new_array =(); 
    foreach($array as $k=>$v){ 
     //This u split by upper case 
     $g = preg_split('/(?=[A-Z])/', $v); 
     $new_array[] = $g[0]; 
     $new_array[] = strtolower($g[1]); 
    }