Более короткий способ убрать все html, добавить шорткод, preg_repace

Это прекрасно работает для того, для чего я его использую (автоматическое мета-описание и содержание 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();

1

Решение

Чтобы удалить все открывающие и закрывающие теги HTML, вы можете использовать:

    $content = preg_replace('/<[^>]+>|<\/[^>]+>/', '', $content);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]