3v4l.org

run code in 300+ PHP versions simultaneously
<?php $files=[ 'Non-Images Only'=>'filename 1 (https://example.com/test.exe)', 'Mixed-Type'=>'filename 1 (https://example.com/test.pdf), filename 2 (https://example.com/cool_image.jpg), filename 3 (https://example.com/other-file.docx), filename 4 (https://example.com/nice_image.png)', 'Images-Only'=>'filename 1 (https://example.com/another.png), filename 2 (https://example.com/cool_image.jpg))']; foreach ($files as $type => $batch) { echo "Batch: ".$batch.PHP_EOL; echo "Expecting: ".$type.PHP_EOL; $images = preg_match('/\.(png|gif|jpe?g|bmp)/im', $batch); $nonImages = preg_match('/^(?!.*[.](png|gif|jpe?g|bmp))(?:.*$|,)/im', $batch); $result = ""; if ($images && $nonImages) { $result = "Mixed-Type"; } else { if ($images) { $result = "Images-Only"; } else { $result = "Non-Images Only"; } } echo "Result: ".$result.PHP_EOL; echo PHP_EOL; }

preferences:
32.49 ms | 404 KiB | 5 Q