我有一个包含URL的数组,如下所示:
$urls = array("http://myurl.com/file/2222/file.rar", "http://myurl.com/file/2222/file.part1.rar", "http://myurl.com/file/2222/file.part2.rar", "http://myurl/file/2222/file.part3.rar", "http://myurl.com/file/2222/file.part4.rar");
我想找到任何文件名来检查它们是一个部分还是一个文件。
例如,上述结果应为:
$single = "http://myurl.com/file/2222/file.rar";
$splits = array("http://myurl.com/file/2222/file.part1.rar", "http://myurl.com/file/2222/file.part2.rar", "http://myurl.com/file/2222/file.part3.rar", "http://myurl.com/file/2222/file.part4.rar");
提前致谢!
答案 0 :(得分:2)
我喜欢preg_grep()
:
$parts = preg_grep('/\.part\d+\.rar/', $urls);
$singles = array_diff($urls, $parts);
或者为单身人士做相反的事情:
$singles = preg_grep('/\.part\d+\.rar/', $urls, PREG_GREP_INVERT);