如何將給定的網址轉換爲基本網址? 這意味着如果我有「http://test.com/folder/it.html?gsa=5」,腳本應該返回「http://test.com/folder/」。將給定的網址轉換爲基本網址
我想:
preg_match('~.*/~', $cur_url, $match);
$base=($match[0]=='http://') ? $cur_url : $match;
不工作好。
如何將給定的網址轉換爲基本網址? 這意味着如果我有「http://test.com/folder/it.html?gsa=5」,腳本應該返回「http://test.com/folder/」。將給定的網址轉換爲基本網址
我想:
preg_match('~.*/~', $cur_url, $match);
$base=($match[0]=='http://') ? $cur_url : $match;
不工作好。
使用一個正則表達式字符串,它保留.com轉發的所有內容。只需設置它就可以使用任何可能的網站結尾。將很快用樣本字符串更新。
- 編輯 -
這個PHP正則表達式的字符串工作從任何網址,以獲取基址(IVE測試)。
![a-zA-Z]+(.com/|.ca/|.gov/)!
注:此字符串設定爲只與.COM,.CA和.gov領域的工作,但你可以在括號他們分開添加其他|。
- 編輯 -
重讀你的帖子,我已經設計了另一個字符串,如果你想在URL一切,除了在最後的文件。
!([a-zA-Z]*+(.com/|.ca/|.gov/))+([a-zA-Z/]*[/])!
注:如果您使用與不具有對最終文件的URL,該目錄必須有斜槓靜止或最後的目錄將被削減爲好。
嘗試parse_url
從php.net樣品
<?php $url = 'http://username:[email protected]/path?arg=value#anchor';
print_r(parse_url($url));
echo parse_url($url, PHP_URL_PATH); ?>
回報
Array
(
[scheme] => http
[host] => hostname
[user] => username
[pass] => password
[path] => /path
[query] => arg=value
[fragment] => anchor
)
/path
PATH也保存文件在最後。我必須被刪除。另外我需要生成一個基礎url,而不僅僅是路徑。 – barakuda28
這是重新組裝基本URL的很多工作。問題看起來像OP想修剪'it.html',並保留資源定位器的基礎「路徑」。 – mario
@mario據我所知,他要求返回'http:// test.com/folder /' –
那麼,如果你想從URL
?hello=somethin&something=somethingelse
的以下可能的工作:
$fullurl = $_SERVER['REQUEST_URI'];
$urlarray = explode($fullurl, "?");
$urlnoget = $urlarray[0];
是會爆炸的URL到每一個位?沒有?在一個實際的文件/ fooledr名稱,所以它會清除$ _GET的網址。
您是否考慮過使用JavaScript?
對不起,如果有更簡單的方法,但這是我所知道的。
'explode()'是一個過度使用的解決方法。使用'strtok()'。 – mario
我從來沒有聽說過這樣的功能,以及我在這裏相當新。 PS:如果我的帖子有用,請+1 – user115422
實際上,基本URL是'http:// test.com /'。無論如何,[你有什麼嘗試](http://www.whathaveyoutried.com)? – Matt
你想從最後/字符去掉? SUBSTR? – mlemay
我試過這段代碼,但它似乎沒有正確工作。 preg_match('〜。* /〜',$ cur_url,$ match); $ base =($ match [0] =='http://')? $ cur_url:$ match; @Matt,不,基地址是帶有路徑的網址,但文件,查詢和片段已被刪除。 – barakuda28