1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| <?php
//Stocker le fichier xml dans une variables pour chercher et remplacer
$fichier = file_get_contents("catalogues/".$_POST['nomCata']);//"cata1.xml"
$pattern = '/<page[0-9]+>(.*)<\/page[0-9]+>/U';
$ok = preg_match_all($pattern, $fichier, $matches);
if($ok > 0)
{
//But : Supprime à partir de l'indice compris autant de page que $nbpageSupprimer
//Reconsituter le nom de la balise <pagex></pagex>
$page = $_POST['indice'];
$numPage = split("-", $page);//PageN
$indice = str_replace("Page", "", $numPage[0]);
$nbPageSupprimer = $_POST['nbSuppression'];//1;//Paramètres envoyés par flash
$nbPage = count($matches[1]);
if($indice == 1)
{
$result = array_slice($matches[1], $nbPageSupprimer);
}
if( ($indice + $nbPageSupprimer) >= $nbPage)
{
$result = array_slice($matches[1], 0, $indice);
}
if( ($indice + $nbPageSupprimer) < $nbPage)
{
$output = array_slice($matches[1], 0, $indice);//Début du tableau retourné par expReg
$iDecoupe2 = $indice + $nbPageSupprimer;
$output2 = array_slice ($matches[1], $iDecoupe2);//Fin du tableau retourné par expReg
$result = array_merge($output, $output2);//Fusion des tableaux
}
//Sur chaque entrée du tableau ajouter les balsies <page></page>
$xml = "<cheminFer>\r\n";
foreach($result as $key => $value) {
$xml .= "\t<page".($key).">".$value."</page".($key).">\r\n";
}
$xml .= "</cheminFer>";
//Récrire le XML
$xml = preg_replace('/<cheminFer>.*<\/cheminFer>/', $xml, $fichier);
$fp = fopen("catalogues/cataaaaa.xml", "w");
fwrite($fp, $xml);
fclose($fp);//fermeture du fichier .xml
header("location: gererCataPresse.php?xml=".$_POST['nomCata']);
}
?> |
Partager