<?php
// copie le header de la page en corrigeant son contenu
function cop_debpage ($descfic)
{
// recopie de l'entête de la page ligne par ligne
do
{
$ligne = fgets ($descfic, LG_MAX_HTML);
// en remplaçant certaines chaines de caractères
if (strpos ($ligne, "../css") > 0)
{
// 2 fois car on a souvent ../../css
$ligne = str_replace ("../css" , "css", $ligne);
$ligne = str_replace ("../css" , "css", $ligne);
}
if (strpos ($ligne, "noindex") > 0)
{
$ligne = str_replace ("noindex" , "index", $ligne);
$ligne = str_replace ("nofollow" , "follow", $ligne);
}
echo $ligne;
}
// on s'arrête après avoir copié la ligne <body>
while ($ligne && strpos (" ".$ligne, "<body") == 0);
}
// copie de la page html jusqu'à la chaine passée en paramètre
// le 3ème paramètre indique si la ligne contenant cette chaine doit être copiée
function copie_jusque_chaine ($descfic, $chaine, $copie_ligne_chaine = 0)
{
$ligne = fgets ($descfic, LG_MAX_HTML);
while ($ligne && strpos (" ".$ligne, $chaine) == 0)
{
echo $ligne;
$ligne = fgets ($descfic, LG_MAX_HTML);
}
if ($copie_ligne_chaine)
echo $ligne;
return $ligne;
}
// copie de la page html jusqu'au prochain indicateur de menu déroulant
function copie_jusque_option ($descfic)
{
copie_jusque_chaine ($descfic, "XXXOPTIONS");
}
// copie de la fin de la page html
function copie_jusque_fin ($descfic)
{
$ligne = fgets ($descfic, LG_MAX_HTML);
while ($ligne)
{
echo $ligne;
$ligne = fgets ($descfic, LG_MAX_HTML);
}
}
// sauter des lignes dans la page html jusqu'à celle contenant la chaine passée en paramètre
function sauter_jusque_chaine ($descfic, $chaine)
{
do
$ligne = fgets ($descfic, LG_MAX_HTML);
while ($ligne && strpos (" ".$ligne, $chaine) == 0);
}
// copier la page html jusqu'à $chaineorig en remplaçant $chaineorig par $chainemaj
function copmaj ($descfic, $chaineorig, $chainemaj)
{
$ligne = fgets ($descfic, LG_MAX_HTML);
while ($ligne && strpos (" ".$ligne, $chaineorig) == 0)
{
echo $ligne;
$ligne = fgets ($descfic, LG_MAX_HTML);
}
echo str_replace ($chaineorig, $chainemaj, $ligne);
}
// copier la page html jusqu'à $chaineorig1 en remplaçant
// $chaineorig1 par $chainemaj1 et $chaineorig2 par $chainemaj2
function copmaj2 ($descfic, $chaineorig1, $chaineorig2, $chainemaj1, $chainemaj2)
{
$ligne = fgets ($descfic, LG_MAX_HTML);
while ($ligne && strpos (" ".$ligne, $chaineorig1) == 0)
{
echo $ligne;
$ligne = fgets ($descfic, LG_MAX_HTML);
}
$ligne = str_replace ($chaineorig1, $chainemaj1, $ligne);
echo str_replace ($chaineorig2, $chainemaj2, $ligne);
}
?>