$pat = '@\[media=(\d+)\](.+)\[/media\]@'; $str = '[media=34]filename.jpg[/media]'; preg_match($pat, $str, $matches); print_r($matches);
Array ( [0] => [media=34]filename.jpg[/media] [1] => 34 [2] => filename.jpg )