2017-04-11 33 views
0

我有一個網站,讓我們說2000頁。其中一些用於產品,其他用於類別。網址如下所示:產品https://www.website.com/product-brand-name-p254.html和類別https://www.website.com/category-name-c44.html。如何過濾網址,以便最終我只能獲取網址的類別。我做了這個pcre使用PHP過濾器的URL PCRE

/https:\/\/w{3}.website.com\/[a-z]*-[a-z]*-[c]{1}[0-9]*.html/g 

它似乎可以工作,只發現URL的類別。我知道我應該使用preg_match_all();來檢查它們,但是我的問題是這樣的:如何獲取所有URL的名稱,以便我可以使用此函數檢查它們,或者可以這樣做嗎?謝謝!

+1

這個正則表達式'[a-z] - [a-z]'如何匹配'category-name'部分? – revo

+0

'我如何獲得所有URL的名稱?我們應該問你,你的數據源是什麼? – hassan

+0

我不確定您的意思是「獲取所有網址的名稱」。如果您正在討論捕獲類別名稱,請將該表達部分放在括號內。該部分將作爲單獨的數組返回。 – alanlittle

回答

0

我終於解決了這個問題。我必須瞭解一些我不知道的功能。代碼如下:

$location = 'dir'; 
$files = scandir($location); 
$files = array_diff(scandir($location), array('.', '..')); 
$matches = preg_grep('/pattern/', $files); 
$results = implode("<br>", $matches); 
echo $results; 

我會盡量把它放到一個函數中。