Функцию можно использовать как «обрезалку» текста с сохранением некоторых 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»)