et + particulièrement aux "anciens",
Comme j'ai découvert simplehtmldom par hasard, j'y ai vu une manière simple pour modifier des parties identiques dans des pages statiques sous réserve qu'elles soient dans des blocs similaires au sens DOM.
Par exemple, si toutes vos pages intègrent un menu dans un bloc déclaré comme "<div id="mon_menu">...</div>",
il va être alors possible de modifier votre menu dans toutes vos pages de manière automatique si vous maîtrisez un peu la programmation php.
Code : Tout sélectionner
<?php
require_once './simple_html_dom.php';
/* ------------ A CONFIGURER SELON VOS BESOINS -----------*/
$dir_resultat ="resultat"; /* répertoire d'accueil des fichiers modifiés */
$liste_fichiers = "a_traiter.txt"; /*liste des fichiers à traiter, un nom /ligne */
$bloc_a_modifier= "div[id=menuhaut]";
$nouveau_contenu= "<h1>MON NOUVEAU MENU</h1>"; /* a remplir selon vos besoins */
/* ----------------------------------------------------------------- */
echo "<h3>Modification automatique du menu de </h3>";
$fd = fopen($liste_fichiers, 'r');
if ($fd)
{
while (!feof($fd)) /*Tant que l'on est pas à la fin du fichier*/
{
$src_file = fgets($fd); /*On lit la ligne courante*/
/* et récupère le nom du fichier à traiter*/
echo $src_file . "<br />"; /* pour voir l'avancement */
$res_file="$dir_resultat". '/'. "$src_file"; /* on met le resultat dans un autre répertoire au cas où...*/
echo 'nom fichier resultat: '.$res_file . "<br/>";
$html = new simple_html_dom();
$html->load_file($src_file);
$ret = $html->find($bloc_a_modifier);
$ret[0]->outertext =$nouveau_contenu;
echo $html->save($res_file); // affiche + sauvegarde
}
fclose($fd); /* c est fini, on ferme le fichier*/
}
?>
Restrictions : ne marche qu'avec PHP5, ce qui n'est pas un souci pour un usage en local avec un serveur Apache type WAMP,...
Les pages mal codées peuvent poser des problèmes.
Pour télécharger simplehtmldom, http://simplehtmldom.sourceforge.net
dans mon exemple, je l'ai installé directement dans ma "racine".
http://simplehtmldom.sourceforge.net/manual.htm
PS: Vous pouvez appliquer cette méthode à vos bandeaux, bas de pages,.. à tout ce qui peut être identifié par le DOM.