PHPに次の配列があります。
$item_array = array("facebook/1377445751.jpg_t","twitter/1377446022.gif_s","flickr/1377531219.png_w","flickr/1377531219.jpg_t_w");
この配列を反復処理して、次の正規表現に一致しない値を削除しています。
(facebook|twitter|flickr)\/(\d{10})\.(jpg|png|gif)_(t_w|t|s|w)
これが私のコードです:
foreach($item_array as $key => $item) {
if(!preg_match('/(facebook|twitter|flickr)\/(\d{10})\.(jpg|png|gif)_(t_w|t|s|w)/', $item)) {
unset($item_array[$key]);
}
}
ただし、次にvar_dump()
onを使用する$item_array
と、空の配列が得られます。はどの配列値とも一致しないため、preg_match
RegExr で何度もテストしたにもかかわらず、そこに問題があるという印象を受けました。
私が間違っている可能性がある場所についてのアイデアはありますか?