2011-10-27 39 views
0

我不知道正則表達式這麼好,我有一個關於可能從正則表達式檢查得到的諧音變量懷疑。我試圖解釋什麼,我找......如何從正則表達式中獲取(部分)變量?

我有那些種類的路徑:

example.com/dir1/ 
example.com/dir1/val1 
example.com/dir1/val1-val2 

我想創建提取DIR1 VAL1VAL2的表達式。

我的問題是:

我只能提取存在的變量或做我必須寫3倍的表達?我的意思是......

如果我把一個規則來使用:example.com/dir1/val1-val2

我只能得到DIR1如果我通過網址,如:www.example.com/category(DIR1 =類別)?

然後如果URL是:www.example.com/category/car

得到dir1 = categoryval1 = car

+0

你爲什麼不使用爆炸? – stivlo

+0

@stivlo,我該如何使用爆炸?網址可以通過衆多人物進行細分,如:example.com/val1-val2/dir1或example.com/dir1/dir2/val1_val2等等等等 – Dail

回答

1

explode("/", $url)問題的正則表達式,如果可能是最容易。如果結構要複雜得多,它允許,可以使用使preg_split()代替,並列出所有可以作爲細分器可能的字符。

$urlParts = preg_split('/[_\/-]/', $url); 
+0

使preg_split應該工作,我試試吧。謝謝! – Dail

+0

我想我必須修剪那些字符,否則數組的第一個元素將是空的。 – Dail

+0

$ urlParts =使preg_split( '/ [_ \/- ] /',$ V,-1,PREG_SPLIT_NO_EMPTY);完成這項工作!再次感謝你。 – Dail

0

你可以使用爆炸( '/',$網址);讓你所有的值的數組,不應該被用來解決這樣

相關問題