Forum Moderators: coopster

Message Too Old, No Replies

a small script to mobilize the Economist.

         

zozzen

8:12 am on Feb 20, 2008 (gmt 0)

10+ Year Member



After asking a lot of questions about PHP recently, this is the first small script i write to help me read The Economist in my PDA. It trims all advertising, unnecessary codes, tables and make mobile browsing easier. (I use isilox to download all content offline)

In case you live in a country that bans this "Newspaper" (as they claimed) site, it can also help you bypass the censorship too.

Hope you like it.

Here're two separate files:
(Save it as any name you like)
---------------------------------------

<html><head><title>Mobilized Economist</title></head>
<body>
<B>Mobilized Economist</b>
<hr>
<?
$issue=$_GET['issue'];

$requesturl = "http://www.economist.com/printedition/";

if ($issue) {
$requesturl = "http://www.economist.com/printedition/index.cfm?d=$issue";
}

if ($fp = fopen("$requesturl", "r"))
{
while(!feof($fp))
{
$line = fgets($fp,1024);
if (eregi('<div class="block">',$line)¦¦eregi('<a href="/printedition/"><img',$line)¦¦eregi('<span class="/article-date/">',$line))
{
$outtext = $outtext.$line;
}
}
fclose($fp);
}

preg_match('/<a href="\/printedition\/"><img src="\/(.*?)"/s',$outtext,$front);
$cover = "http://www.economist.com/"."$front[1]";

if ($issue) {
$cover = "http://www.economist.com/images/$issue/$issue"."issuecovUS117.jpg";
echo "<img src=$cover><hr>\r\n";
}
else
{
echo "<img src=$cover><hr>\r\n";
}

$allowed_tags = "<a>,<li>,<h1>,<em>";
$outtext = strip_tags($outtext, $allowed_tags);
$outtext = eregi_replace("target=\"_blank\"","",$outtext);
$outtext = eregi_replace("</a>","</a><br>\n",$outtext);
$outtext = eregi_replace("displaystory.cfm","PrinterFriendly.cfm",$outtext);
$outtext = eregi_replace('<a href="','<a href="econread.php?story=',$outtext);

$outtext = eregi_replace('<h1>','<h2>',$outtext);
$outtext = eregi_replace('</h1>','</h2>',$outtext);
$outtext = eregi_replace('&nbsp;','',$outtext);
$outtext = eregi_replace('</em>','<br>',$outtext);
$outtext = eregi_replace('<em>','',$outtext);

echo($outtext);

?>

<HR>
Past issues: From Year 2000 to present <BR>
<i>Date = 20080202, 20080209, 20080216. Publish every saturday. </i><BR>
<?
echo("<form name=\"pastmag\" method=\"get\" action=$self>");
echo("<input type=text name=issue value=20080209 size=10>");
echo("<input type=submit value=Date></form>");
?>

<br><hr>
Mobilized by Zozzen
</body></html>

----------------------------------------------------------------------
Second file:
Save the following as econread.php:

<html><head><title>Mobilized Economist</title></head>
<body>
<B>Mobilized Economist</b>
<hr>
<?php
$story=$_GET['story'];
$baseurl = "http://www.economist.com";
$requesturl = "http://www.economist.com$story";

if ($fp = fopen("$requesturl", "r"))
{
while(!feof($fp))
{
$line .= fgets($fp,256);
}
fclose($fp);
}
$line = eregi_replace("src=\"","src=\"$baseurl",$line);
$line = eregi_replace("align=\"left\"","",$line);
echo($line);
?>
<br><hr>
Mobilized by Zozzen
</body></html>

eelixduppy

12:32 am on Feb 26, 2008 (gmt 0)



Thanks for sharing your solution.