function parse_xml($html) { $parts = explode("<story", $html); array_shift($parts); $items = array(); for ($i = 0; $i < count($parts); $i++) { $item = array(); $item["type"] = "xml_story"; $item["title"] = extract_raw_tag($parts[$i], "title"); $item["title"] = html_decode($item["title"]); $item["title"] = html_decode($item["title"]); $item["title"] = replace_ctrl_chars($item["title"], " "); $item["title"] = str_replace(" ", " ", $item["title"]); $url = str_replace("&", "&", strip_ctrl_chars(extract_raw_tag($parts[$i], "url"))); term_echo("*** raw story url: " . $url); $item["url"] = get_redirected_url($url); $item["timestamp"] = time(); if ($item["title"] === False or $item["url"] === False) { continue; } $items[] = $item; } return $items; }
} $details = extract_text($parts[$j], "<div class=\"details\">", "<span class=\"otherdetails\""); $details = strip_tags($details); $details = substr(clean_text($details), 3); $user = $details; $uid = 0; $c1 = strpos($details, "("); $c2 = strpos($details, ")"); if ($c1 !== False and $c2 !== False) { if ($c1 < $c2 and $c2 == strlen($details) - 1) { $user = trim(substr($details, 0, $c1 - 1)); $uid = substr($details, $c1 + 1, $c2 - $c1 - 1); } } $url = "http://soylentnews.org/comments.pl?sid={$sid}&cid={$cid}"; $pid_html = strip_ctrl_chars($parts[$j]); $pid_html = str_replace(" ", "", $pid_html); $pid_delim1 = "ReplytoThis</a></b></p></span><spanclass=\"nbutton\"><p><b><ahref=\"//soylentnews.org/comments.pl?sid={$sid}&threshold=-1&commentsort=0&mode=flat&cid="; $pid_delim2 = "\">Parent"; $pid_test = extract_text($pid_html, $pid_delim1, $pid_delim2); $pid = ""; $parent_url = ""; if ($pid_test !== False) { $pid = $pid_test; $parent_url = "http://soylentnews.org/comments.pl?sid={$sid}&cid={$pid}"; } $subject_delim1 = "<h4><a name=\"{$cid}\">"; $subject_delim2 = "</a>"; $subject = extract_text($parts[$j], $subject_delim1, $subject_delim2); $subject = trim(strip_tags($subject)); $subject = str_replace(" ", " ", $subject);