Mercurial
diff .cms/mini/page.teaser.php @ 0:78edf6b517a0 draft
24.10
author | Coffee CMS <info@coffee-cms.ru> |
---|---|
date | Fri, 11 Oct 2024 22:40:23 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.cms/mini/page.teaser.php Fri Oct 11 22:40:23 2024 +0000 @@ -0,0 +1,23 @@ +<?php + +if ( preg_match( '/<img[^>]+data-preview[^>]*>/us', $page['text'], $m ) ) { + $preview_img = $m[0]; +} else { + $preview_img = ''; +} + +if ( preg_match( '/^(.*)(<!--[\s]*preview-start[\s]*-->)(.*)(<!--[\s]*preview-end[\s]*-->)(.*)$/us', $page['text'], $m ) ) { + $preview = $m[3]; +} else { + $preview = preg_replace( "/<h1>(.*?)<\/h1>/u", "", $page['text'] ); + $preview = mb_substr( trim( strip_tags( $preview ) ), 0, 500 ); + $preview = preg_replace( '/\s\S*$/u', ' ...', $preview ); + $preview = "<p>{$preview}</p>"; +} + +echo " +<div class=teaser> +<h2><a href='{$cms['base_path']}{$page['url']}'>{$page['title']}</a></h2> +{$preview} +</div> +"; \ No newline at end of file