[英]Glob regex patterns - PHP
我的文件夾中包含多張圖片,但我對標題如下的圖片感興趣: "Images_123456_nature_XL.jpg, Images_458599_3d_L.jpg, Images_065455_animals_XL.jpg"
。 因此,嘗試使用如下的glob
函數:
$images = glob($value."/^Images_(\d+)_([a-zA-Z]+)_([A-Z]+).{jpg,png,gif}", GLOB_BRACE);
但這似乎不起作用,對此有任何幫助! 非常感激。
glob()不采用正則表達式,而是采用簡單的模式,僅將* joker替換為任何東西,並且? 一個字符。
您可以嘗試以下操作:
$files = array_filter(glob('*.{jpg,png,gif}', GLOB_BRACE), function($file) {
return preg_match('/^Images_(\d+)_([a-zA-Z]+)_([A-Z]+)\.(jpg|png|gif)$/', basename($file));
});
就內存而言,這並不是真正有效的方法(因為glob()會在過濾之前返回所有文件),但這至少是可行的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.