2011-08-05 164 views
-1

搶值我有一個網址是這樣的:使用的preg_match從URL

www.yourname.mysite.com/templates/diversity/index.php

我需要抓住該字符串,「多元化」 ,並將其與db值相匹配。我從來沒有在php中使用像preg_match這樣的東西,我怎樣才能抓住那個字符串?

+1

你可以擴展什麼使'多樣性'的目標?它是文件前面的目錄嗎?它是路徑中的第二個目錄嗎? –

+0

多樣性是路徑中的第二個目錄 – user880789

+0

你是什麼意思與搶?檢查字符串是否具有/多樣性/在其中? – blejzz

回答

1
$ex = explode("/",$_SERVER["PHP_SELF"]); 
    echo $ex[2]; 
+0

感謝大家的回答,但這是最簡單和最快實施 - 謝謝! – user880789

4

而不是一個正則表達式,你可以使用該parse_url()

$url = 'www.yourname.mysite.com/templates/diversity/index.php'; 

$parts = parse_url($url); 
$paths = explode('/', $parts['path']); 
// "diversity" is in $paths[1] 

爲了完整起見,這裏的正則表達式:

preg_match('=^[^/]+/[^/]+/([^/]+)/=', $url, $matches); 
// "diversity" is in $matches[1] 
+0

thx - 但$ url值是多少?我可以動態拉動網址嗎? – user880789

+0

@ user880789我編輯了我的答案。 –

0

你可以只發生爆炸的是串並獲得所得陣列的第三值:

$parts = explode("/", "www.yourname.mysite.com/templates/diversity/index.php"); 
echo $parts[2]; // diversity 
+0

如果鏈接中還有'http://',那該怎麼辦?不夠一般。 –

+0

如何獲得網址,如果它是動態的? – user880789

+0

這似乎不是他的情況,但他可以str_replace那個http://爆炸之前與「/」 – Ivan