\n\n" . "\n" . " \n" . " Paul Duncan\n" . " http://paulduncan.org/\n" . " Paul Duncan's personal blog.\n" . "\n" . " en-us\n" . " http://blogs.law.harvard.edu/tech/rss\n" . "\n" . " $email\n" . " $email\n" . " 2000-2005 Paul Duncan\n" . "\n" . " Politics\n" . " Personal\n" . " Blog\n" . "\n" . " YourFrigginMother v1.0\n" . " $lbd\n" . " 120\n" . " \n" . " 9\n" . " 10\n" . " 11\n" . " \n" . "\n"; foreach ($news_ary as $i => $vals) echo " \n" . " " . filter_content(trim($vals['title'])) . "\n" . " http://paulduncan.org/?id=${vals['id']}\n" . " http://paulduncan.org/?id=${vals['id']}\n" . " http://paulduncan.org/?id=${vals['id']}\n" . " " . rfc822_time($vals['time']) . "\n" . " $email\n" . " " . filter_content($vals['content']) . "\n" . " \n" . " \n\n"; echo " \n" . "\n"; # # generate headers # # a lot of this header magic comes from the following page: # http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html header('Content-type: text/xml'); header("Last-Modified: $up_str"); # generate header checksums $md5 = md5(ob_get_contents()); header('ETag: ' . $md5); header('Content-MD5: ' . $md5); header('Content-Length: ' . ob_get_length()); # flush output ob_end_flush(); ?>