bonjour,
j'ai un fichier xhtml structuré (avec différents entêtes h2 etc) et je souhaiterais le découper en fichiers plus petits, en faisant automatiquement le lien vers les sous fichiers dans un index.
Il existe un logiciel pour faire cela :
http://www.htmldoc.org/
Malheureusement, déjà il converti tout le code en vieux html, et ensuite il rajoute dans chaque fichier un petit menu avec le lien vers le fichier suivant et précédent, ce que je ne souhaite pas. Je n'ai pas trouvé comment le désactiver, cela ne semble pas avoir été envisagé.
Auriez-vous un logiciel similaire mais plus récent et qui ferait tout cela ?
# Une bonne vieille regexp ?
Posté par jeffcom . Évalué à 2.
Je te donne un exemple simple en php parce que c'est ce que j'ai en tête à cette heure tardive, mais c'est faisable en ce que tu veux selon le même principe (le code par le lui même, je pense) :
$page = file_get_contents('ton gros fichier.xhtml');
// ici nettoyage du code pour ne garder que ce qui est entre les balises "body"
preg_match_all('#<h([2])[^>]{0,}>(.*)</h\1>#i',$page,$match);
$match = $match[0];
$summary = array();
foreach ($match as $m) {
$page = str_replace($m,'<!-- cut here -->'.$m,$theContent); // on place un marqueur de découpe
$summary[] = striptags($m); // on stocke les titres pour créer une page index
}
$page = explode('<!-- cut here -->',$page');
foreach ($page as $num=>$chunk) {
file_put_contents($num.'.html',$chunk);
}
$index = '';
foreach ($summary as $num=>$entry) {
$index.='$entry'
}
$index = ''.$index.'';
file_put_contents('index.html',$index);
après on peut compliquer un peu plus pour formater correctement chaque fichier créé (ajouter une dtd, un head etc..)
en espérant que ça te donne une piste...
[^] # Re: Une bonne vieille regexp ?
Posté par jeffcom . Évalué à 5.
[^] # Re: Une bonne vieille regexp ?
Posté par B16F4RV4RD1N . Évalué à 2.
J'ai essayé de corriger les premières coquilles, mais alors que le code paraît correct, il me dit Parse error: syntax error, unexpected '}' :
http://pastebin.com/m487411a4
Au pire des cas si je ne trouve pas, je peux utiliser des fichiers sources multiples qui produiront plusieurs fichiers html, mais cela me plait moins.
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: Une bonne vieille regexp ?
Posté par jeffcom . Évalué à 3.
désolé pour les coquilles : j'ai pondu ça en live à la va vite sur mon P1i...
[^] # Re: Une bonne vieille regexp ?
Posté par B16F4RV4RD1N . Évalué à 2.
Maintenant cela fait des choses, mais c'est pas encore ça : si j'ai un fichier html avec des h2, cela ne genère qu'un fichier 0.html (vide), si je passe en export docbook, les <!--cut here--> fonctionnent bien, mais le fichier d'index n'est pas correctement généré.
Merci quand même pour cet effort :)
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: Une bonne vieille regexp ?
Posté par jeffcom . Évalué à 2.
[^] # Re: Une bonne vieille regexp ?
Posté par jeffcom . Évalué à 3.
http://pastebin.com/f679f5bac
le fichier se trouve dans ./source et le résultat dans ./result (le fichier php dans ./ évidement)
voila :)
[^] # Re: Une bonne vieille regexp ?
Posté par B16F4RV4RD1N . Évalué à 2.
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: Une bonne vieille regexp ?
Posté par jeffcom . Évalué à 2.
- ça ne prends que le contenu du body
- ça insère dans les chapitre les headers/footers/barres de navigation
- ça insère à la fin de l'index le sommaire avec un lien vers chaque chapitre
http://pastebin.com/fe6ec5f0
ça m'a fait plaisir et puis ça servira certainement à d'autres :)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.