PHP,preg_replace,使用正規表達式來取代字串

我想要將以下的網址

變成以下這種格式

主要有 2 個部份要去除:

  1. 去除 ? 後面的所有參數字串
  2. 去除 /admin 
解法:
  1. 取得目前網址
  2. 去除 ? 後面字串
  3. 去除 /admin 字串
$http_host = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$http = preg_replace('/mod=tools&fun=analysis/', '', $http_host);
$http = preg_replace('//admin/', '', $http);
$smarty->assign('http',$http);

由於取代的字串為空,所以等於是去除的意思。

由於是取固定的網址來比對,其實如果取得的東西都一樣,也可以使用 explode() 分割字串函式來操做,不過反而會比較麻煩,每分割一次都會變成一個陣列。
得到的結果可以使用在前後台頁面,自己在 ? 後面加入參數…