Обработка page-break из CKeditor на стороне PHP для создания превью материалов

 В CKeditor есть такая кнопка, как “разрыв страницы” или Page-break. 

 При нажатии на нее в текст вставляется такой html код:

<div class="page-break" style="page-break-after:always;">
<span style="display:none;">&nbsp;</span>
</div>
 

Эту кнопку легко можно использовать, чтобы разграничивать, где закончатся “превью” или короткая вводная часть основной статьи. 

Код обработки на стране PHP, в котором из текста берем только то, что есть до данного разделителя:

  public function getContentUntilPageBreak($content)
{

$minContent = ''; // тот контент, который будет до разделителя
if (!empty($content)) {
$minContent = strstr($content, '<div class="page-break" style="page-break-after:always;">', true);
}
if(empty($minContent)){
$minContent = $content; // на случай, если не найдено pageBreak будем выводить весь текст
// тут можно добавить обрезку текста до определенного кол-ва символов / строк
} else {
$minContent .= '<a href="full-link">Читать далее</a>'; //ссылка на полную версия материала
}
return $minContent;

}

Комментарии

Комментариев пока нет, вы можете оставить свой: