Обработка page-break из CKeditor на стороне PHP для создания превью материалов
В CKeditor есть такая кнопка, как “разрыв страницы” или Page-break.
При нажатии на нее в текст вставляется такой html код:
<div class="page-break" style="page-break-after:always;">
<span style="display:none;"> </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;
}
Комментарии