Fusionner deux fichiers HTML en master fichier HTML
Disons que j'ai le code HTML suivant des fichiers:
html1.html
<html>
<head>
<link href="blah.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div>this here be a div, y'all</div>
</body>
</html>
html2.html
<html>
<head>
<script src="blah.js"></script>
</head>
<body>
<span>this here be a span, y'all</span>
</body>
</html>
Je veux profiter de ces deux fichiers et faire un master fichier devrait ressembler à ceci:
<html>
<head>
<link href="blah.css" rel="stylesheet" type="text/css" />
<script src="blah.js"></script>
</head>
<body>
<div>this here be a div, y'all</div>
<span>this here be a span, y'all</span>
</body>
</html>
Est-ce possible à l'aide d'une simple commande de Linux? J'ai essayé de regarder rejoindre, mais il semble que cela rejoint sur un terrain commun, et je ne suis pas forcément d'avoir des champs... j'ai juste besoin fondamentalement d'ajouter la différence, mais aussi avoir la structure principale encore intacte (je suppose que cela pourrait être appelée à gauche-join?). Ne ressemble pas à cat
marchera... comme qui fusionne en ajoutant un fichier, puis l'autre, etc.
Si il n'est pas une simple commande Linux, ma prochaine étape est d'écrire un script qui compare les deux scripts, ligne par ligne, ou créer un maître de fichier HTML qui fait référence à ces deux fichiers individuels en quelque sorte.
Yep, mais ce n'est pas une option pour ce que je dois faire.
OriginalL'auteur incutonez | 2013-11-08
Vous devez vous connecter pour publier un commentaire.
Vos fichiers d'exemple sont bien formée XHTML. Excellent! Cela signifie que vous pouvez utiliser un simple script XSLT. Voir Comment fusionner deux fichiers XML avec XSLT
Cela ne fonctionne que si tous vos fichiers HTML sont également XML bien formé (c'est à dire qu'ils suivent les règles de syntaxe de XML).
Mes fichiers HTML (que je suis en train de fusionner) générée par une autre application, mais ils semblent être bien formé.
Parfois, il est possible de "réparer" désordre HTML avec
xmllint
S'il vous plaît pouvez-vous me dire comment vous avez fait cela à l'aide de XSLT. Pouvez-vous partager le lien de script ou de la méthode que vous avez utilisé pour résoudre ce problème.
OriginalL'auteur Robin Green
Vous pouvez utiliser les balises html-outil de fusion pour fusionner plusieurs fichiers HTML à la préservation de leur interne des liens hypertextes. C'est un programme win32, mais vous pouvez l'exécuter sous linux en utilisant Wine. Page de téléchargement: https://sourceforge.net/projects/htmlmg/files/
ne fonctionne pas lorsque l'encodage est Chinois "GB2312" 🙁 Il n'y a pas de code source, donc je ne pouvais pas corriger.
Le codage pris en charge sont répertoriés dans le fichier README pour le programme. Ils comprennent actuellement la norme ISO-8859-1/2/3, Windows-1250/1/2/3, UTF-16, UTF-16BE, UTF-8. Certains des fichiers html n'ont pas l'encodage spécifié, et contiennent des caractères qui ne leur permettent pas d'être traités comme de l'UTF-8 par défaut.
Ajout de support pour les jeux de caractères Asiatiques n'est pas anodin, car le programme utilise personnalisé analyseur HTML et les fichiers d'entrée peuvent avoir des codages différents. Cela signifie que le correctif nécessiterait l'ajout de votre propre transcodage des routines et des tables pour GB2312. Aussi, html-fusion toujours sorties UTF-8, en partie en raison de la nécessité même de choisir un encodage universel pour codé différemment d'entrée. UTF-16 serait de produire des fichiers de grande taille pour les langues Européennes.
OriginalL'auteur bkxp
Utilisation pandoc de fusionner par exemple, tous les fichiers html dans le répertoire courant:
OriginalL'auteur Lars Bilke