<?php
 
 
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
 
 
class IMDB_Parser
 
{
 
 
    
 
    function getMovieActors($imdb_website, $name_and_id=False)
 
    {
 
        if (preg_match('/<table class="cast">(.+)<\/table>/', $imdb_website, $hit))
 
        {
 
            if ($name_and_id === True)
 
            {
 
                #name and id
 
                if (preg_match_all('/<a href="\/name\/(nm\d{1,8})\/">([^<]+)<\/a>/',$hit[0],$results, PREG_PATTERN_ORDER))
 
                {
 
                    return $results;
 
                }    
 
                else
 
                {
 
                    return False;
 
                }
 
            }
 
            else
 
            {
 
                #only name, old version
 
                if (preg_match_all('/<a href="\/name\/nm\d{1,8}\/">([^<]+)<\/a>/',$hit[0],$results, PREG_PATTERN_ORDER))
 
                {
 
                    return $results[1];
 
                }
 
                else
 
                {
 
                    return False;
 
                }
 
            }
 
        }
 
        else
 
        {
 
            return False;
 
        }
 
    }
 
    
 
 
    function getMovieDirectedBy($imdb_website, $all_directors=False)
 
    {
 
        if ($all_directors === True)
 
        {
 
            return False;
 
        }
 
        else
 
        {
 
            if (preg_match('/Directors?:<\/h5>.?<a href="\/name\/[a-z0-9]+\/">(.+)<\/a>/sU', $imdb_website, $hit)) 
 
            {
 
                return $hit[1];
 
            }
 
            else
 
            {
 
                return False;
 
            }
 
        }
 
    }
 
    
 
    
 
    function getMovieColor($imdb_website)
 
    {
 
        if (preg_match('/<a href="\/List\?color-info.+>([^<]+)<\/a>/i',$imdb_website, $hit))
 
        {
 
            return $hit[1];
 
        }
 
        else
 
        {
 
            return False;
 
        }
 
    }
 
    
 
    
 
    function getMovieCountry($imdb_website)
 
    {
 
        if (preg_match_all('/<a href="\/Sections\/Countries\/([a-z]+)\/">/i',$imdb_website,$results, PREG_PATTERN_ORDER))
 
        {
 
            return $results[1];
 
        }
 
        else
 
        {
 
            return False;
 
        }
 
    }
 
    
 
    
 
    function getMovieLanguage($imdb_website)
 
    {
 
        if (preg_match_all('/<a href="\/Sections\/Languages\/([a-z]+)\/">/i',$imdb_website,$results, PREG_PATTERN_ORDER))
 
        {
 
            return $results[1];
 
        }
 
        else
 
        {
 
            return False;
 
        }
 
    }
 
    
 
    
 
    function getMovieRating($imdb_website)
 
    { 
 
        if (preg_match('/<b>([0-9]{1,2}\.[0-9]{1,2}\/10)<\/b>/', $imdb_website, $hit)) 
 
        {
 
            return $hit[1];
 
        }
 
        else
 
        {
 
            return False;
 
        }
 
    }
 
    
 
    
 
    function getMovieGenres($imdb_website)
 
    {
 
        if (preg_match_all('/\/Sections\/Genres\/(.+?)\//', $imdb_website, $hit, PREG_PATTERN_ORDER)) 
 
        {
 
            return $hit[1];
 
        }
 
        else
 
        {
 
            return False;
 
        }
 
    }
 
    
 
    
 
    function getMoviePlot($imdb_website)
 
    {
 
        if (preg_match('/Plot:<\/h5>([^<]+)</', $imdb_website, $hit))        
 
        {
 
            return $hit[1];
 
        }
 
        else
 
        {
 
            return False;
 
        }
 
    }
 
    
 
    
 
    function getMovieTagline($imdb_website)
 
    {
 
        if (preg_match('/Tagline:<\/h5>([^<]+)</', $imdb_website, $hit))        
 
        {
 
            return $hit[1];
 
        }
 
        else
 
        {
 
            return False;
 
        }
 
    }
 
    
 
    
 
    function getMovieTitle($imdb_website)
 
    {
 
        if (preg_match('/\<title\>([^"]+)\<\/title\>/', $imdb_website, $hit)) 
 
        {
 
            return $hit[1];
 
        }
 
        else
 
        {
 
            return False;
 
        }
 
    }
 
    
 
    
 
    function getMoviePictureHtml($imdb_website)
 
    {
 
        if (preg_match('/<a name="poster".+title=".+">(.+)<\/a>/', $imdb_website, $hit)) 
 
        {
 
            return str_replace('ec.', '', $hit[1]);
 
        }
 
        else
 
        {
 
            return False;
 
        }
 
    }
 
    
 
    
 
    function getMoviePicture($imdb_website)
 
    {
 
        if (preg_match('/ src="([^"]+)/', $this->getMoviePictureHtml($imdb_website), $hit))
 
        {
 
            return $hit[1];
 
        }
 
        else
 
        {
 
            return False;
 
        }
 
    }
 
 
 
    function getMovieYear($imdb_website)
 
    {
 
        if (preg_match('/\/Sections\/Years\/([^"]+)/', $imdb_website, $hit))
 
        {
 
            return $hit[1];
 
        }
 
        else
 
        {
 
            return False;
 
        }
 
    }
 
 
    
 
    function getMovieRuntime($imdb_website)
 
    {
 
        #contributed by Guvenc KAPLAN
 
        if (preg_match('/Runtime:<\/h5>([^<]+)<\/div>/', $imdb_website, $hit))
 
        {
 
            return $hit[1];
 
        }
 
        else
 
        {
 
            return False;
 
        }
 
    }
 
 
    
 
    function getMovieStars($imdb_website)
 
    {
 
        if (preg_match('/<b>([0-9]{1,2}\.[0-9]{1,2})\/10<\/b>/', $imdb_website, $hit)) 
 
        {
 
            return $hit[1];
 
        }
 
        else
 
        {
 
            return False;
 
        }
 
    }
 
 
 
    function getMovieAka($imdb_website)
 
    {
 
        if (preg_match('/Also Known As:<\/h5>([^<]+)<br>/', $imdb_website, $hit))
 
        {
 
            return $hit[1];
 
        }
 
        else
 
        {
 
            return False;
 
        }
 
    }
 
 
 
    function getMovieAwards($imdb_website)
 
    {
 
        #contributed by D3FiANC3 
 
        if (preg_match('/Awards:<\/h5>([^<]+)<a class/', $imdb_website, $hit))
 
        {
 
            return $hit[1];
 
        }
 
        else
 
        {
 
            return False;
 
        }
 
    }
 
 
 
    function getMovieVotes($imdb_website)
 
    {
 
        #contributed by D3FiANC3 
 
        if (preg_match('/\<small\>\(\<a href="ratings"\>([^<]+)\<\/a\>\)\<\/small\>/', $imdb_website, $hit))
 
        {
 
            return $hit[1];
 
        }
 
        else
 
        {
 
            return False;
 
        }
 
    }
 
 
 
    function getMovieMPAA($imdb_website)
 
    {
 
        #contributed by Edward Husar         
 
        if (preg_match('/MPAA<\/a>:<\/h5>([^<]+)<\/div>/', $imdb_website, $hit))
 
        {
 
            return $hit[1];
 
        }
 
        else
 
        {
 
            return False;
 
 
        }
 
    }
 
 
 
    function getMovieAspectRatio($imdb_website)
 
    {
 
        if (preg_match('/<h5>Aspect Ratio:<\/h5>([^<]+)<a class/', $imdb_website, $hit))
 
        {
 
            return $hit[1];
 
        }
 
        else
 
        {
 
            return False;
 
 
        }
 
    }
 
 
 
    function getMovieSoundMix($imdb_website)
 
    {
 
        if (preg_match('/<a href="\/List\?sound-mix.+>([^<]+)<\/a>/i',$imdb_website, $hit))
 
        {
 
            return $hit[1];
 
        }
 
        else
 
        {
 
            return False;
 
 
        }
 
    }
 
 
 
    function getMovieReleaseDate($imdb_website)
 
    {
 
        #contributed by Edward Husar
 
        if (preg_match('/Release Date:<\/h5>([^<]+)<a class/', $imdb_website, $hit))
 
        {
 
            return $hit[1];
 
        }
 
        else
 
        {
 
            return False;
 
        }
 
    }
 
 
 
    function getMovieCompany($imdb_website)
 
    {
 
        if (preg_match('/<a href="\/company.+>([^<]+)<\/a>/i',$imdb_website, $hit))
 
        {
 
            return $hit[1];
 
        }
 
        else
 
        {
 
            return False;
 
        }
 
    }
 
 
 
}  
 
?>
 
 
 |