Я не знаю, для чего вы используете $head = implode("", $headlines);
в своем скрипте, но вы сможете найти нужные данные из $headlines
или headline_batch
ниже.
Разделение обработкиот вашей печати сделает ваш код легче читать и поддерживать.Я мог бы написать сценарий, чтобы использовать меньше циклов, но я предпочитаю удобочитаемость, а не эффективность.
<?php
include('parse/simple_html_dom.php');
$url = 'link-to-url';
$html = file_get_html($url);
$headlines = array();
$counter = 0;
foreach($html->find('.cmsmasters_row[1] .cmsmasters_toggle_title') as $title) {
$headlines[++$counter] = $title->plaintext;
}
// no more processing, just printing
foreach (array_chunk($headlines, 10, true) as $headline_batch) {
?>
<div class="pf w0 h0">
<div class="w0 h0">
<div class="header-pagina">
<svg role="img" class="header37"><use xlink:href="#header-hp"></use></svg>
</div>
<?php
foreach ($headline_batch as $counter => $title) {
echo '<div class="agenda-curs">
<div class="agenda-tab"><span class="modul-tab-text color1" contenteditable="true">Modulul ' . $counter . '</span></div>
<div class="agenda-text" contenteditable="true">' . $title . '</div >
</div>';
}
?>
</div>
<svg role="img" class="footer35"><use xlink:href="#footer35"></use></svg>
</div>
</div>
<?php
}
?>
Использование array_chunk($headlines, 10, true)
избавит вас от необходимости использовать условие модуля в вашем цикле, чтобы проверить, должна ли новая группаначать.Параметр true
сохраняет значения $counter
после разбиения на группы.