\n"; // SXXEXX format if( preg_match( "/(.+)s(?P\d+)e(?P\d+)(.*) [a-z]+/i", $file, $m ) || preg_match( "/(.+)[\._ ](?P\d+)x(?P\d+)(.*) [a-z]+/i", $file, $m ) ){ $s = str_pad( intval( $m["s"] ), 2, "0", STR_PAD_LEFT ); $e = str_pad( intval( $m["e"] ), 2, "0", STR_PAD_LEFT ); $senum = $m["s"] ? "s".$s : ""; $senum .= $m["e"] ? "e".$e : ""; $subtitle = $m[4]; $subtitle = preg_replace( "/^: /", "", $subtitle ); $subtitle = trim( preg_replace( "/(repack|hdtv|thebox).*/i", "", $subtitle ) ); $show = trim( ucwords( $m[1] ) ); $show = preg_replace( "/ -\s*$/", "", $show ); $show = trim( $show ); $a = array( "file" => $fname, "extension" => $ext, "show" => $show, "episode" => "Season $s episode $e", "subtitle" => $subtitle, "senum" => $senum, ); return $a; } // YYYY.MM.DD format if( preg_match( "/(.+)(\d{4})[- ](\d{2})[- ](\d{2}) ?(.*) [a-z]+/i", $file, $m ) ){ $subtitle = $m[5]; $subtitle = trim( preg_replace( "/hdtv.*/i", "", $subtitle ) ); $date = date( "F jS, Y", strtotime($m[2].$m[3].$m[4]) ); $a = array( "file" => $fname, "extension" => $ext, "show" => trim( ucwords( $m[1] )), "episode" => $date, "subtitle" => $subtitle, ); return $a; } if( preg_match( "/^([^\.]+)\.+([^\.]*)\.+[a-z0-9]+$/", $fname, $m ) ){ return array( "file" => $fname, "extension" => $ext, "show" => ucwords( trim( $m[1]." ".$m[2] ) ), "subtitle" => "" ); } // Show name has already been made all fancy if( preg_match( "/(.*?)( - )(?PSeason (?P\d+) Episode (?P\d+))(: (?P.+))?\.([a-z0-9]+)$/i", $fname, $m ) ){ $senum = $m["s"] ? "s".$m["s"] : ""; $senum .= $m["e"] ? "e".$m["e"] : ""; return array( "file" => $fname, "extension" => $ext, "show" => trim( $m[1] ), "subtitle" => $m["subtitle"], "episode" => $m["episode"], "senum" => $senum ); } if( preg_match( "/(.*?) - (.*)\./", $fname, $m ) ){ $show = trim( $m[1] ); return array( "file" => $fname, "extension" => $ext, "show" => $show, "subtitle" => $m[2] ); } $show = ucwords( preg_replace( "/ [a-z]+$/", "", $file )); return array( "file" => $fname, "extension" => $ext, "show" => trim( $show ), ); } ?>