#!/usr/bin/php5
<?php
	//*********************
	// PHP pilkkominen
	//*********************


	// Ladataan koko sivuston koodit muuttujaan
	$sivunkoodi = file_get_contents("http://www.yle.fi/ohjelmaopas/index.php?&co[]=tv1&co[]=tv2&co[]=mtv&co[]=nel&co[]=sub&span=day");
	
	// Etsitään yle1:n tv-ohjelmien osa
	$alku = stripos($sivunkoodi,"<b>TV1</b>");
	$loppu = stripos($sivunkoodi,"<b>TV2</b>");
	$pituus = $loppu - $alku;	

	$yle1 = substr($sivunkoodi,$alku,$pituus);
//	print $yle1;		
	
	// Etsitään TV2:n tv-ohjelmien osa
	$alku = stripos($sivunkoodi,"<b>TV2</b>");
	$loppu = stripos($sivunkoodi,"<b>MTV3</b>");
        $pituus = $loppu - $alku;

	$yle2 = substr($sivunkoodi,$alku,$pituus);
//	print $yle2;
	
	// Etsitään MTV3:n tv-ohjelmien osa
	$alku = stripos($sivunkoodi,"<b>MTV3</b>");
	$loppu = stripos($sivunkoodi,"<b>Nelonen</b>");
        $pituus = $loppu - $alku;
	$mtv3 = substr($sivunkoodi,$alku,$pituus);

	// Etsitään Nelosen tv-ohjelmien osa
	$alku = stripos($sivunkoodi,"<b>Nelonen</b>");
	$loppu = stripos($sivunkoodi,"<b>Subtv</b>");
        $pituus = $loppu - $alku;

	$nelonen = substr($sivunkoodi,$alku,$pituus);


	// Etsitään Subtv tv-ohjelmien osa
	$alku = stripos($sivunkoodi,"<b>Subtv</b>");

	$subtv = substr($sivunkoodi,$alku);


	// Kirjoitetaan tekstitiedostoon yle1:n ohjelmat


//********************
// TV1
//*******************




	$tiedosto = fopen("yle1.txt","w");
	
	$rivinvaihto = stripos($yle1,"\n");
	$rivi = substr($yle1,0,$rivinvaihto);
//	print $rivi;

	while($rivinvaihto != 0)
	{	
		$ind = stripos($rivi,"<td valign=\"top\"><b>");

		if($ind != 0)
		{
			
			fwrite($tiedosto,substr($rivi,$ind+20,5) . "|");

			$ind = stripos($rivi,"&nbsp;</td><td>");
			$rivi = substr($rivi,$ind+15);
							
			$ind2 = stripos($rivi,"mode=www\">");
			
			if($ind2 == 0)
			{
                                $testi = stripos($rivi,"bgcolor");

                                if($testi == 0)
                                {
                                        $ind2 = stripos($rivi,"</td>");
                                        $pituus = $ind - $ind2;
                                        fwrite($tiedosto,substr($rivi,0,$ind2) ."\n");
                                }
                                else
                                {
                                        $ind2 = stripos($rivi,"</td>");
                                        $pituus = $ind + 21 - $ind2 +3;
                                        fwrite($tiedosto,substr($rivi,0,$ind2) ."\n");
				}
			}
			else
			{	
			 	$rivi = substr($rivi,$ind2+10);
				$ind = stripos($rivi,"</a>");
				$pituus = $ind2 - $ind;
				fwrite($tiedosto,substr($rivi,0,$ind) . "\n");		
					
			}				
		}
		
		$yle1 = substr($yle1,($rivinvaihto+2));
		$rivinvaihto = stripos($yle1,"\n");
	        $rivi = substr($yle1,0,$rivinvaihto);

		//print $rivinvaihto . "<br>";
	}

	fclose($tiedosto);


//********************
// TV2
//*******************


        $tiedosto = fopen("yle2.txt","w");

        $rivinvaihto = stripos($yle2,"\n");
        $rivi = substr($yle2,0,$rivinvaihto);

        while($rivinvaihto != 0)
        {
                $ind = stripos($rivi,"<td valign=\"top\"><b>");
      

                if($ind != 0)
                {

                        fwrite($tiedosto,substr($rivi,$ind+20,5) . "|");

                        $ind = stripos($rivi,"&nbsp;</td><td>");
                        $rivi = substr($rivi,$ind+15);

                        $ind2 = stripos($rivi,"mode=www\">");

                        if($ind2 == 0)
                        {
                                $testi = stripos($rivi,"bgcolor");

                                if($testi == 0)
                                {
                                        $ind2 = stripos($rivi,"</td>");
                                        $pituus = $ind - $ind2;
//                                      print "pituus " . $pituus . " ind2 " . $ind2 . " ind " . $ind . "\n";
                                        fwrite($tiedosto,substr($rivi,0,$ind2) ."\n");
                                }
                                else
                                {
                                        $ind2 = stripos($rivi,"</td>");
                                        $pituus = $ind + 21 - $ind2 +3;
//                                      print "pituus " . $pituus . " ind2 " . $ind2 . " ind " . $ind . "\n";
                                        fwrite($tiedosto,substr($rivi,0,$ind2) ."\n");
				}
                        }
                        else
                        {
                                $rivi = substr($rivi,$ind2+10);
//                              print $rivi . "<br>\n";
                                $ind = stripos($rivi,"</a>");
                                $pituus = $ind2 - $ind;
                                fwrite($tiedosto,substr($rivi,0,$ind) . "\n");
//                              print "pituus " . $pituus . " ind2 " . $ind2 . " ind " . $ind . "\n";
                        }
                }

                $yle2 = substr($yle2,($rivinvaihto+2));
                $rivinvaihto = stripos($yle2,"\n");
                $rivi = substr($yle2,0,$rivinvaihto);

                //print $rivinvaihto . "<br>";
        }

        fclose($tiedosto);

//********************
// Mtv3
//*******************



        $tiedosto = fopen("mtv3.txt","w");

        $rivinvaihto = stripos($mtv3,"\n");
        $rivi = substr($mtv3,0,$rivinvaihto);
	
        while($rivinvaihto != 0)
        {
                $ind = stripos($rivi,"<td valign=\"top\"><b>");
                

                if($ind != 0)
                {

                        fwrite($tiedosto,substr($rivi,$ind+20,5) . "|");

                        $ind = stripos($rivi,"&nbsp;</td><td");
                        $rivi = substr($rivi,$ind+15);

                        $ind2 = stripos($rivi,"mode=www\">");

                        if($ind2 == 0)
                        {

                                $testi = stripos($rivi,"bgcolor");

                                if($testi == 0)
                                {
                                        $ind2 = stripos($rivi,"</td>");
                                        $pituus = $ind - $ind2;
//                                      print "pituus " . $pituus . " ind2 " . $ind2 . " ind " . $ind . "\n";
                                        fwrite($tiedosto,substr($rivi,0,$ind2) ."\n");
                                }
                                else
                                {
                                        $ind2 = stripos($rivi,"</td>");
                                        $pituus = $ind + 21 - $ind2 +3;
//                                      print "pituus " . $pituus . " ind2 " . $ind2 . " ind " . $ind . "\n";
                                        fwrite($tiedosto,substr($rivi,0,$ind2) ."\n");

                                }
 
                       }
                        else
                        {
                                $rivi = substr($rivi,$ind2+10);
//                              print $rivi . "<br>\n";
                                $ind = stripos($rivi,"</a>");
                                $pituus = $ind2 - $ind;
                                fwrite($tiedosto,substr($rivi,0,$ind) . "\n");
//                              print "pituus " . $pituus . " ind2 " . $ind2 . " ind " . $ind . "\n";
                        }
                }

                $mtv3 = substr($mtv3,($rivinvaihto+2));
                $rivinvaihto = stripos($mtv3,"\n");
                $rivi = substr($mtv3,0,$rivinvaihto);

                //print $rivinvaihto . "<br>";
        }

        fclose($tiedosto);

//********************
// nelonen
//*******************


        $tiedosto = fopen("nelonen.txt","w");

        $rivinvaihto = stripos($nelonen,"\n");
        $rivi = substr($nelonen,0,$rivinvaihto);
//      print $rivi;

        while($rivinvaihto != 0)
        {
                $ind = stripos($rivi,"<td valign=\"top\"><b>");
//              echo $ind;

                if($ind != 0)
                {

                        fwrite($tiedosto,substr($rivi,$ind+20,5) . "|");

                        $ind = stripos($rivi,"&nbsp;</td><td");
                        $rivi = substr($rivi,$ind+15);

                        $ind2 = stripos($rivi,"mode=www\">");

                        if($ind2 == 0)
                        {
                               $testi = stripos($rivi,"bgcolor");

                               if($testi == 0)
                               {
                                        $ind2 = stripos($rivi,"</td>");
                                        $pituus = $ind - $ind2;
//                                      print "pituus " . $pituus . " ind2 " . $ind2 . " ind " . $ind . "\n";
                                        fwrite($tiedosto,substr($rivi,0,$ind2) ."\n");
                                }
                                else
                                {
                                        $ind2 = stripos($rivi,"</td>");
                                        $pituus = $ind + 21 - $ind2 +3;
//                                      print "pituus " . $pituus . " ind2 " . $ind2 . " ind " . $ind . "\n";
                                        fwrite($tiedosto,substr($rivi,0,$ind2) ."\n");

                                }

                        }
                        else
                        {
                                $rivi = substr($rivi,$ind2+10);
//                              print $rivi . "<br>\n";
                                $ind = stripos($rivi,"</a>");
                                $pituus = $ind2 - $ind;
                                fwrite($tiedosto,substr($rivi,0,$ind) . "\n");
//                              print "pituus " . $pituus . " ind2 " . $ind2 . " ind " . $ind . "\n";
                        }
                }

                $nelonen = substr($nelonen,($rivinvaihto+2));
                $rivinvaihto = stripos($nelonen,"\n");
                $rivi = substr($nelonen,0,$rivinvaihto);

                //print $rivinvaihto . "<br>";
        }

        fclose($tiedosto);

//********************
// SUBTV
//*******************


        $tiedosto = fopen("subtv.txt","w");

        $rivinvaihto = stripos($subtv,"\n");
        $rivi = substr($subtv,0,$rivinvaihto);
//      print $rivi;

        while($rivinvaihto != 0)
        {
                $ind = stripos($rivi,"<td valign=\"top\"><b>");
//              echo $ind;

                if($ind != 0)
                {

                        fwrite($tiedosto,substr($rivi,$ind+20,5) . "|");

                        $ind = stripos($rivi,"&nbsp;</td><td");
                        $rivi = substr($rivi,$ind+15);

                        $ind2 = stripos($rivi,"mode=www\">");

                        if($ind2 == 0)
                        {
                        	$testi = stripos($rivi,"bgcolor");
				
				if($testi == 0)
				{
			        	$ind2 = stripos($rivi,"</td>");
                                	$pituus = $ind - $ind2;
//                              	print "pituus " . $pituus . " ind2 " . $ind2 . " ind " . $ind . "\n";
                                	fwrite($tiedosto,substr($rivi,0,$ind2) ."\n");
				}
				else
				{
                                        $ind2 = stripos($rivi,"</td>");
                                        $pituus = $ind + 21 - $ind2 +3;
//                                      print "pituus " . $pituus . " ind2 " . $ind2 . " ind " . $ind . "\n";
                                        fwrite($tiedosto,substr($rivi,0,$ind2) ."\n");

				}
                        }
                        else
                        {
                                $rivi = substr($rivi,$ind2+10);
//                              print $rivi . "<br>\n";
                                $ind = stripos($rivi,"</a>");
                                $pituus = $ind2 - $ind;
                                fwrite($tiedosto,substr($rivi,0,$ind) . "\n");
//                              print "pituus " . $pituus . " ind2 " . $ind2 . " ind " . $ind . "\n";
                        }
                }

                $subtv = substr($subtv,($rivinvaihto+2));
                $rivinvaihto = stripos($subtv,"\n");
                $rivi = substr($subtv,0,$rivinvaihto);

                //print $rivinvaihto . "<br>";
        }

        fclose($tiedosto);


?>