Это прекрасно работает для того, для чего я его использую (автоматическое мета-описание и содержание og: description для WordPress), но мне интересно, есть ли способ написать его короче / чище:
$content = $post -> post_content;
$content = wp_trim_words($content, 40, '...'); // 40 words
$content = trim(str_replace(' ','',$content));
$content = do_shortcode($content);
$content = html_entity_decode($content);
$content = strip_tags($content);
$content = preg_replace('/\s\s+/', '', $content);
Хорошо, я думаю, что это поможет. Я хотел иметь возможность использовать его снова и снова, а потом подумал: эй, может быть, это как js. Я визуальный дизайнер в моем мозгу, поэтому мне нужно некоторое время, чтобы освоить этот материал.
function do_meta_description_cab() {
global $post;
$content = $post -> post_content;
$content = wp_trim_words($content, 40, '...'); // 40 words
$content = trim(str_replace(' ','',$content));
$content = do_shortcode($content);
$content = html_entity_decode($content);
$content = strip_tags($content);
$content = preg_replace('/\s\s+/', '', $content);
return $content;
}
//Usage: $content = do_meta_description_cab();
Чтобы удалить все открывающие и закрывающие теги HTML, вы можете использовать:
$content = preg_replace('/<[^>]+>|<\/[^>]+>/', '', $content);
Других решений пока нет …