2017-04-11 4 views
0

私は、2000ページと言いましょう。それらの一部は製品用であり、その他はカテゴリ用です。 URLは次のようなものです:製品https://www.website.com/product-brand-name-p254.html、カテゴリーhttps://www.website.com/category-name-c44.htmlです。最終的にカテゴリのURLのみを取得できるように、URLのフィルタリングを行うにはどうすればよいですか。私はこのpcreを作ったURLがPHPである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

「すべてのURLの名前を取得する」という意味がわかりません。カテゴリ名をキャプチャすることについて話している場合は、その部分をカッコで囲みます。その部分は別の配列として返されます。 – alanlittle

答えて

0

私はついにこの問題を解決しました。私は知っていない機能について知る必要がありました。コードは以下の通りです:

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

私はこれを関数に入れようとします。

関連する問題