Я использую пользовательскую функцию для усечения текста на основе аргумента, в котором указано количество разрешенных символов. Вот мой код:
function bm_best_excerpt($length, $ellipsis, $content) {
$text = $content;
$text = strip_tags($text);
$text = substr($text, 0, $length);
$text = substr($text, 0, strripos($text, " "));
$text = $text.$ellipsis;
return $text;
}
НА любой странице я могу обрезать текст, захватив настраиваемое поле Wordpress (содержащее строку текста) и пропустив его через эту функцию следующим образом:
<?php $excerpt = get_field('long_description'); ?>
<p><?php echo bm_best_excerpt(70, ' ... ', $excerpt); ?></p>
Это прекрасно работает и отображает первые 70 символов $excerpt
. Я хочу изменить эту функцию, чтобы она сначала подсчитывала количество символов в заголовке (над описанием), а затем использовала все оставшиеся символы для этого описания.
Чтобы проиллюстрировать это, скажем, я хочу разрешить всего 80 символов. Мой RAW HTML ниже:
Here is a Title that is fairly longВот описание, за которым следуют некоторые Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut Labore et dolore magna aliqua.
Я хочу, чтобы ОБЩЕЕ количество символов между заголовком и описанием составляло 80. В заголовке 35 символов, что оставляет 45 символов для описания.
Как мне изменить приведенную выше функцию, чтобы она позволяла подсчитывать дополнительную переменную содержимого (в качестве аргумента), а затем вычитать из $length
? Я бы хотел, чтобы функция выглядела примерно так:
function bm_best_excerpt($length, $ellipsis, $content1, $content2) {
Где $content1
— заголовок, а $content2
— описание.