$sourceHTML = file_get_contents('sourcefile');
$splitContents = explode("<div class='placeholder'></div>", $sourceHTML);
foreach ($splitContents as $html) {
// save html to file
}
Édition: whoops. Comme l'indique correctement user201140, j'ai manqué le fait que chaque fichier html doit être un document valide. Comme il n'est pas précisé exactement ce que l'étiquette principale devrait contenir, je supposerai que l'étiquette principale du document combiné devrait être répliquée à chaque copie. Dans ce cas:
$sourceHTML = file_get_contents('sourcefile');
preg_match("/(^.*<body.*?>)(.*)(<\/body.*$)/is", $sourceHTML, &$matches);
$top = $matches[1];
$contents = $matches[2];
$bottom = $matches[3];
$splitContents = explode("<div class='placeholder'></div>", $contents);
foreach ($splitContents as $chunk) {
$html = $top.$chunk.$bottom;
// save html to file
}
Cela semble fondamentalement réinventer l'idée de templating ... comme avec Smarty ... y at-il une raison pour laquelle ce n'est pas une option? – Jack
Réinvention quelque chose n'est pas toujours mauvais. J'ai réinventé mon propre moteur de template pour mon site et sa supériorité en termes de flexibilité. Cependant, je pense que vous avez probablement raison, dans cette situation, si le PO ne sait pas comment le faire, je pense que quelque chose comme Smarty pourrait être une meilleure option. – Layke