2016-03-01 86 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]); 
    }