All pastes #745273 Raw Edit

Stuff

public text v1 · immutable
·published 2007-10-22 07:22 UTC
rendered paste body
<?php
 
function el_start($parser,$el_name,$el_attrs) {
global $pagename,$intitle,$indescript,$internal;
global $desc,$ttl;
switch ($el_name) {
        case "EXTERNALPAGE":
                $pagename = $el_attrs['ABOUT'];
                $internal = 1;
                $desc = $ttl = '';
                break;
        case "D:TITLE":
                if ($internal) {
                $intitle = 1;
                }
                break;
        case "D:DESCRIPTION":
                if ($internal) {
                $indescript = 1;
                }
                break;
        }
}
 
function el_end($parser,$el_name) {
global $pagename,$intitle,$indescript,$internal;
switch ($el_name) {
        case "EXTERNALPAGE":
                $internal = 0;
                store_site();
                break;
        case "D:TITLE":
                $intitle = 0;
                break;
        case "D:DESCRIPTION":
                $indescript = 0;
                break;
        }
}
 
function charinfo($parser,$info) {
global $pagename,$intitle,$indescript,$internal;
global $desc,$ttl;
        if ($indescript) $desc .= addslashes($info);
        if ($intitle) $ttl .= addslashes($info);
        }
 
function store_site() {
global $pagename,$intitle,$indescript,$internal;
global $desc,$ttl;
if (ereg('\.ac\.uk\/',$pagename)) {
        ereg('([-a-zA-Z0-9_]+)\.ac\.uk\/',$pagename,$locn) ;
        $line = sprintf('%s,"%s","%s"'."\n",$pagename,$ttl,$desc);
        $fho = fopen("unis/$locn[1]","a");
        fputs($fho,$line);
        fclose($fho);
        print "$pagename\n";
        }
}
 
set_time_limit(7200);
$parser = xml_parser_create();
xml_set_element_handler($parser,'el_start','el_end');
xml_set_character_data_handler($parser,'charinfo');
 
$fh = fopen('/dmoz/content.rdf.u8',"r");
while ($xmlcontent = fread($fh,1024)) {
        xml_parse($parser,$xmlcontent,feof($fh));
        }
?>