Функцию можно использовать как «обрезалку» текста с сохранением некоторых HTML тегов, аналог встроенной функции WordPress — the_excerpt()
function htmlTheExcerpt($text) {
if ('' == $text) {
$text = get_the_content('');
$text = apply_filters('the_content', $text);
$text = str_replace(']]>', ']]>', $text);
$text = preg_replace('@<script[^>]*?>.*?</script>@si', '', $text);
$text = strip_tags($text, '<span>,<br>,<a>,<strong>,<p>,<ul>,<li>,<ol>');
$excerpt_length = 77;
$words = explode(' ', $text, $excerpt_length + 1);
if (count($words) > $excerpt_length) {
array_pop($words);
array_push($words, '<br><a href="' . get_the_permalink() . '"></strong>Подробнее...</a>');
$text = implode(' ', $words);
}
}
return $text;
}
Исключения из html задаются в строке «8» — здесь просто указываете те тэги которые не «зарежутся».
Количество символов анонса указываете в строке — «9»
Результат функции: Текст с сохранением нужных тегов HTML + ссылка на пост с текстом «Подробнее» (строка «13»)