3v4l.org

run code in 300+ PHP versions simultaneously
<?php $feeds = [ ['feed_image' => [ '<a href="http://52.1.47.143/photo/928/2_onclick_ok/userid_244/" class=" js_photo_item_928 photo_holder_image" rel="928" ><img src="http://52.1.47.143/file/pic/photo/2015/04/9bd387c6442135834298d6a17b3f9555_240.jpg" alt="" width="180" height="160" class="photo_holder" /></a><br />', '<a href="http://52.1.47.143/photo/927/8/userid_244/" class=" js_photo_item_928 photo_holder_image" rel="927"><img src="http://52.1.47.143/file/pic/photo/2015/04/6eb60ee0e258223ef72a9a632d0ce429_240.png" alt="" height="84" width="150" class="photo_holder" userid="244" /></a>', 'hufflebuff' ] ], ['some other array'] ]; $result = []; foreach($feeds as $index => $feed) { if(isset($feed['feed_image']) && is_array($feed['feed_image'])) { $result[$index] = array_map(function($item) { preg_match('/src=\"[\\w\\:\\/\\.]+photo\\/(?<url>[^[:space:]\"]+)/i', $item, $matches); return isset($matches['url']) ? $matches['url'] : false; }, $feed['feed_image']); // remove all items that had no url matched. Remove this line if you know that there is always a match $result[$index] = array_filter($result[$index]); } } var_dump($result);

preferences:
32.78 ms | 402 KiB | 5 Q