function del_musor($string)//удаляем всё ненужное на странице
{$t1=explode('</html>',$string);//задний блок веб архива
$t1=$t1[0].'</html>';
$t1=del_sec($t1,'<!-- Yandex.Metrika counter -->','<!-- /Yandex.Metrika counter -->',true);
$t1=del_sec($t1,'<script type="text/javascript" src="/static/js/analytics.js"></script>','<link type="text/css" rel="stylesheet" href="/static/css/banner-styles.css"/>',false);
$t1=del_sec($t1,'<!-- BEGIN WAYBACK TOOLBAR INSERT -->','<!-- END WAYBACK TOOLBAR INSERT -->',false);
$t1=del_sec($t1,'<!--LiveInternet counter-->','<!--/LiveInternet-->',true);
$t1=del_sec($t1,'<!--LiveInternet logo-->','<!--/LiveInternet-->',true);
$t1=del_sec($t1,'<base','>',true);
return $t1;}
function del_musor_cssjs($string)//удаляем всё ненужное на странице
{$t1=del_sec($t1,'/*','*/',true);return $t1;}
function ins_base_utf()//добавить base и кодировку заменить, если не та
{global $data;$data=ins_after($data,'<head>','<base href="/" />',false);$data=mainswaps($data);}
function find_href()
{global $hfinded,$hrele,$data;
$hfinded='';
if(strpos($data,' src="')){$hfinded=' src="';$hrele='"';return true;}
if(strpos($data," src='")){$hfinded=" src='";$hrele="'";return true;}
if(strpos($data,' href="')){$hfinded=' href="';$hrele='"';return true;}
if(strpos($data," href='")){$hfinded=" href='";$hrele="'";return true;}
if(strpos($data,' action="')){$hfinded=' action="';$hrele='"';return true;}
if(strpos($data," action='")){$hfinded=" action='";$hrele="'";return true;}
if(strpos($data,'url("')){$hfinded=' action="';$hrele='")';return true;}
if(strpos($data,"url('")){$hfinded=' action="';$hrele="')";return true;}
if(strpos($data,'url(')){$hfinded=' action="';$hrele=')';return true;}
return false;}
function add_href($full,$loc)//если нет в карте ссылок, то добавляем
{global $hrefmap;
if($loc=='')$loc='/';
if(strpos($loc,'?')){$tloc=explode('?',$loc);$loc=$tloc[0];}
if(strpos($loc,'#')){$tloc=explode('#',$loc);$loc=$tloc[0];}
for($i=0;$i<count($hrefmap);$i++)if($hrefmap[$i][1]==$loc)return;$hrefmap[]=array('http://web.archive.org'.$full,$loc,0);}
function page_hrefs()//делаем ссылки из вебархивных нормальными (своими)
{global $hfinded,$hrele,$domain,$data,$prefix;
$swaps=array();
$insertcode=0;
while(find_href())
{
$data1=explode($hfinded,$data);
$data2=explode($hrele,all($data1,$hfinded));
$data=$data1[0].'XXINSERT'.$insertcode.'XX'.all($data2,$hrele);
$insertcode++;
$anastring=$data2[0];
if(strpos($anastring,'/http://'.$domain.'/'))//это внутренняя ссылка или ресурс, сохраненные (возможно) в архиве
{$tu=explode('/http://'.$domain.'/',$anastring);
add_href($anastring,$tu[1]);
$swaps[]=$hfinded.$tu[1].$hrele;
}else
if(strpos($anastring,'/https://'.$domain.'/'))//это https 2внутренняя ссылка или ресурс, сохраненные (возможно) в архиве
{$tu=explode('/https://'.$domain.'/',$anastring);
add_href($anastring,$tu[1]);
$swaps[]=$hfinded.$tu[1].$hrele;
}else//это локальная или внешняя ссылка
if(strpos($anastring,'http://'))//проверить наличие http или https и если есть - то это внешняя ссылка
{$tu=explode('/http://',$anastring);
$swaps[]=$hfinded.'http://'.$tu[1].$hrele;
}else
if(strpos($anastring,'https://'))//проверить наличие http или https и если есть - то это внешняя ссылка
{$tu=explode('/https://',$anastring);
$swaps[]=$hfinded.'https://'.$tu[1].$hrele;
}else
{$swaps[]=$hfinded.$anastring.$hrele;
add_href($prefix.$anastring,$anastring); //добавить локальные ссылки с префиксом
}
}
for($i=0;$i<count($swaps);$i++)
{
$data=str_replace('XXINSERT'.$i.'XX', $swaps[$i], $data);
}
}
|