0

I have a working data parsing php script that returns movie titles and ratings associated with them.

The php script looks like this:

<?php
header("content-type: text/plain");

foreach (glob("*.mov") as $filename)

$theData = file_get_contents($filename) or die("Unable to retrieve file data");

$months = ['January' => '_01', 'February' =>  '_02', 'March' => '_03', 'April' => '_04', 'May' => '_05', 'June' => '_06', 'July' => '_07', 'August' => '_08', 'September' => '_09', 'October' => '_10', 'November' => '_11', 'December' => '_12'];

foreach($months as $key => $month){
  if(strpos($filename,$month)!==false){
        echo "Movie List for $key 2013\n\n";
    }
}

$string = $theData;
$titles = explode("\n", $string);

function getInfo($string){
    $Ratings = ['G', 'PG', 'PG-13', 'R', 'NR', 'XXX'];
    $split = preg_split("/\"(.+)\"/", $string, -1, PREG_SPLIT_DELIM_CAPTURE); 
    if(count($split) == 3){ 
        preg_match("/(".implode("|", $Ratings).")\s/", $split[0], $matches);
        $rating = $matches[0];
        return ["title" => $split[1], "rating" => $rating];
    }
    return false;
}

foreach($titles as $title){
    $info = getInfo($title);
    if($info !== false){
        echo "{$info["title"]} : {$info["rating"]}\n";
    }
} 

THE OUTPUT LOOKS LIKE THIS:

Movie List for May 2013

(HD) Identity Thief : PG-13 
(HD) Escape from Planet Earth : PG 
(HD) Dark Skies : PG-13 
(HD) The Guilt Trip : PG-13 
(HD) Jack Reacher : PG-13 
(HD) Les Miserables : PG-13 
(HD) Mama : PG-13 
(HD) Safe Haven : PG-13 
(HD) A Place at the Table : PG 
(HD) Cirque du Soleil: Worlds Away : PG 
(HD) Rise of the Guardians : PG 
(HD) Fun Size : PG-13 
(HD) Shanghai Calling : PG-13 
(HD) The Package : NR 
(HD) The House at the End of the Street : PG-13 
Beautiful Creatures : PG-13 
The Incredible Burt Wonderstone : PG-13 
Jack the Giant Slayer : PG-13 
Parental Guidance : PG 
The Hobbit: An Unexpected Journey : PG-13 
Cloud Atlas : PG-13 
Life of Pi : PG 
Chasing Mavericks : PG 
Taken 2 : PG-13 
Adult title 1 : XXX 
Fat Burning Hip Hop Dance Party : G 
Fat Burning Hip Hop Dance Grooves : G 
Aladdin : G 
Americano : NR 
Missing Brendan : NR 
Point Doom : NR 
Gullivers Travels : G 
The Little Princess : PG 
Jack And The Beanstalk : PG 
To the Arctic : G 
Adult title 2 : XXX 

THE QUESTION IS: How can I sort that data so the movies with the rating XXX show up on the bottom? ANY help is appreciated.

1 Answer 1

1

The simplest way is probably using usort. You define a function that compares the items in $titles.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.