I'm working on a script which pulls tide data from NOAA, parses it and the inserts into my PAL page. You can see it working at
http://www.fish-tails.netAnyway, I need a little help on regexp, and maybe some suggestions.
Ideally, I would like to pull the data from NOAA, strip html completely out, and then insert the data into mysql. Once the data is stored, I can then write a script so that the user can select the reference stations they want to be displayed on the home page, or in their My Home.
Currently, I have it loading directly to the home page without stripping html. Here is the code I'm using.
code:
$month = date("n");
$day = date("j");
$year = date("Y");
$next = (date("j")+1);
$next1 = $next+1;
$next2 = $next1+1;
$next3 = $next2+1;
$tide1 = "$month/$day/$year";
$tide2 = "$month/$next/$year";
$tide3 = "$month/$next1/$year";
$tide4 = "$month/$next2/$year";
$tide5 = "$month/$next3/$year";
//$url = 'http://www.co-ops.nos.noaa.gov/tides/seFB.html';
$url = 'http://co-ops.nos.noaa.gov/tides/get_pred.shtml?stn=0030+Fernandina+Beach&secstn=Simpson+Creek,
+A1A+highway+bridge&thh=+0&thm=05&tlh=+0&tlm=1
9&hh=*0.84&hl=*0.65';
$lines_array = file($url);
$lines_string = implode('', $lines_array);
eregi("$tide1(.*)$tide5", $lines_string, $head);
//eregi("<BODY BGCOLOR="#FFFFFF">(.*)</body>", $lines_string, $head);
//eregi("<pre>(.*)</pre>", $lines_string, $head);
//$head = eregi_replace("</tr><tr><td align="right" width="60">$tide5</td></tr>", "</tr>", $head);
echo "I'm running some tests now on the tides program I'm writing. Please use these with discretion. Thanks. DATA from NOAA";
echo "<br><b>Simpson Creek, A1A highway bridge 2002 Water Level Predictions</b>";
echo "<br>(Reference station - Fernandina Beach)";
echo "<br>Corrections - Time Diff. (High 0 hr. 05 min. Low 0 hr. 19 min.)";
echo "<br>Hgt. Diff. (High *0.84 Low *0.65)";
echo "<br>All times listed are in Local Time, and all heights are in Feet referenced to Mean Lower Low Water (MLLW).";
echo "<br><hr><table><tr>";
echo "<th width="60">Date</th><th width="60">Time</th><th></th><th width="40">Ht.</th><th>
</th><th>Time</th><th></th><th width="40
">Ht.</th><th>
</th><th>Time</th><th></th><th width="40
">Ht.</th><th>
</th><th>Time</th><th></th><th width="40
">Ht.</th></tr><tr><td>";
echo "<font face='arial'>";
echo $head[0];
echo "</td></tr></table>";
You will note I have two $url with one commented out. The one that is commented is the one I think woul be the easiest to work with, but then I'm not sure, which is why I'm here.
The second one is the one that I'm using on my home page. Now, first off, I only want 4 days displayed, but if you look at my home page a new line with a fifth day starts. I've tried preg_replace and ereg_replace but to no avail. Anyone have a good understanding of regexp that can help me out?
Regarding the database. Looking for suggestions here. Should I set up a cron (I have an idea what it does but have never used it) to pull the data I want nightly, insert it into a db as one record, then have my pal box pull from that record? I would think that way there would be faster page load times. I'm open for suggestions here.
Any help is appreciated.