| AJ Quick |
01-04-2003 21:16 |
I noticed a bug, when it displayed results with a website, it didn't properly phrase the location of the the team. That can easily be fixed with this version:
PHP Code:
<?php
//Team Parser for The 2003 FIRST Champ. Event
//Designed by: Andrew Schenk (email: [email]webmaster@feds201.com[/email])
//Code tested on PHP 4.3.1 - (should work on any 4+ version & mabey 3 depending on some functions)
//Code tested on PHP 4.1.2 - (worked fine)
//Known Bugs:
//The current source code for the team website is not correct. It is missing the "" around the url.
//If first decides to correct this error do the following to the code:
/*
--find--
echo substr($var, (strpos($var, 'href=')+5), (strpos($var, '>') - strpos($var, 'href=')-5)).'<br />';
--replace with--
echo substr($var, (strpos($var, 'href="')+6), (strpos($var, '">') - strpos($var, 'href="')-6)).'<br />';
*/
//I'm 99% sure that would correct the code, but not sure exactly how they would change it so... who knows?
//to actually use the code, replace the echo statements with an array var and then you could dump that array into your db
//hehe... actually going to include a few comments...
//--get source code from usfirst--//
$source = '';
@ $source_pointer = fopen('http://www.usfirst.org/frc/map/FMPro?-db=team%20events.fp5&-lay=web&-format=team_list.htm&event=CMP&event%20year=2003&status=signed%20up&-sortfield=team%20id&-max=all&-find', "r");
if ( $source_pointer === false )
{
die('Could not open url');
}
while ( !feof($source_pointer) )
{
$source .= fread($source_pointer, 1024);
}
fclose($source_pointer);
$x = 0; //$x is going to be the var to hold our string offset in all the strpos() functions
while ( strpos($source, '<TR BGCOLOR="#FFFFFF">', $x) > $x )
{
echo '<hr>';
$loc = '';
$x = strpos($source, '<TR BGCOLOR="#FFFFFF">', $x) + 22; //find the start of a new record (<tr> ) and then offset the pointer to the end of it
while ( strpos($source, '</TR>', $x) > strpos($source, '<TD class="news">', $x) && strpos($source, '<TD class="news">', $x) > $x )
{
$x = strpos($source, '<TD class="news">', $x) + 17; //find the start of a new field and offset the pointer to the end
$var = trim(substr($source, $x, (strpos($source, '</TD>', $x) - $x))); //assign the field to the var
if ( strpos($var, '<A') !== false ) //decide if the var has a link in it
{
echo substr($var, (strpos($var, 'href=')+5), (strpos($var, '>') - strpos($var, 'href=')-5)).'<br />'; //get url from link
$var = explode("</a>", $var); //by AJ Quick (CogSquad.org)
$loc = $var[1];
$var = strip_tags($var[0]); //return the team name
echo $var.'<br />'.$loc;
$var = trim(substr($source, $x, (strpos($source, '</TD>', $x) - $x))); //assign the field to the var
} else {
echo $var.'<br />'; //return a var without a link
$var = trim(substr($source, $x, (strpos($source, '</TD>', $x) - $x))); //assign the field to the var
}
}
}
//--the end--//
?>
It is really great that you provide teams with these resources. I was totally lost, when it came to doing this, but once I looked at the source for one you did.. it became very easy.
Thanks Jack!
|