Здравствуйте, уважаемые. Есть код, который разбивает статью на страницы посредством {PAGEBREAK}. $config['page_break_news'] - n слов, по истечению которых вставляем {PAGEBREAK}. Есть нюанс: если слово заканчивается в фразе заключенной в
<i>, <b>
и т.д. нарушается синтаксис html. Т.е. на одной странице текст обрывается на открывающем теге и на следующую переносится закрывающий.
Сейчас:
<p>текст текст <i>текст текст{PAGEBREAK}текст текст</i> текст текст.</p>
<p>остальной текст...</p>
Правильно:
<p>текст текст <i>текст текст текст текст</i> текст текст.</p>{PAGEBREAK}
<p>остальной текст...</p>
Статья имеет абзацы заключенные в
<p>
. Вопрос, как сделать так, чтобы при достижении нужного количества слов, происходил поиск ближайшего закрывающегося
</p>
и за ним ставился разделитель {PAGEBREAK}?
if($config['page_break_news'] != 0) {
$add = "{PAGEBREAK}";
$every = $config['page_break_news'] ;
$words= explode(" ",$row['full_story']);
$l=1;
$co = count($words);
for ($i=0;$i<$co;$i++) {
if($l==$every){
$words[$i].=$add;
$l=0;
}
$l++;
}
$row['full_story'] = implode(" ",$words);
}