\n"; //flush(); if (preg_match("%200|302|303|307|405%", $responsecode) // || ($responsecode == "301" // && preg_match("%^".preg_quote($url)."%", $newlocation)) ) { print $line; flush(); fwrite($fp, $line); } else { if ($responsecode == "301" && !empty($newlocation) && ! preg_match("%404|error|not\s*found%i", $newlocation)) { $responsecode = "301(a)"; $response = "Moved Permanently (note: already re-inserted)"; $newline = preg_replace("%HREF=\".*?\"%i", "HREF=\"$newlocation\"", $line); print $newline; flush(); fwrite($fp, $newline); } if (empty($responsetext[$responsecode])) { $responsetext[$responsecode] = "$responsecode $response"; $resultmap[$responsecode] = $resultmap["default"]; } $resultmap[$responsecode] .= $line; } } elseif (preg_match("% $response) { $resultmap[$responsecode] .= $line; } } else { // comments and initial text: just print print $line; flush(); fwrite($fp, $line); } } ksort($responsetext); foreach($responsetext as $responsecode => $response) { if ($responsecode != "default") { $map = $resultmap[$responsecode] . $lastline; do { $oldmap = $map; $map = preg_replace("%\s*
]*>[^<]*\s*

\s*(


\s*)*

%si", "", $map); } while ($oldmap != $map); $map = "

Response: $response

\n$map"; $map = preg_replace("%^(?=.)%m", " ", $map); print $map; flush(); fwrite($fp, $map); } } print $lastline; fwrite($fp, $lastline); flush(); fclose($fp); } ?>