Php 从摘录中删除短代码,同时保持摘录长度

Php 从摘录中删除短代码,同时保持摘录长度,php,regex,wordpress,shortcode,Php,Regex,Wordpress,Shortcode,我在一些帖子的开头有一个很长的短代码,所以当我使用get_extract功能时,短代码会被打印出来 我想删除摘录中的短代码,但仍然有剩余文章内容的完整摘录 例如,如果我有一个get_摘录('150'),但我的短代码长度超过150个字符,则剥离的摘录不包含任何内容,为空 我尝试过获取帖子内容,去掉短代码,然后修剪到150个字符,但这包括了帖子的所有格式,包括我不想要的照片和媒体。我只想要150个字符的非模拟文本,不包括短码 我对在帖子内容中执行我的短代码不感兴趣 有什么想法吗?所以经过一番搜索和反

我在一些帖子的开头有一个很长的短代码,所以当我使用
get_extract
功能时,短代码会被打印出来

我想删除摘录中的短代码,但仍然有剩余文章内容的完整摘录

例如,如果我有一个
get_摘录('150')
,但我的短代码长度超过150个字符,则剥离的摘录不包含任何内容,为空

我尝试过获取帖子内容,去掉短代码,然后修剪到150个字符,但这包括了帖子的所有格式,包括我不想要的照片和媒体。我只想要150个字符的非模拟文本,不包括短码

我对在帖子内容中执行我的短代码不感兴趣


有什么想法吗?

所以经过一番搜索和反复尝试,我想出了这个解决我问题的方法

function filter_shortcodes_from_excerpt( $excerpt ) {
    $excerpt = wp_trim_words(strip_shortcodes(get_the_content(), 40 ));
    return $excerpt;    
}

add_filter( 'get_the_excerpt', 'filter_shortcodes_from_excerpt' );

就我个人而言,我已经多年不使用Wordpress了,我无法测试任何东西。也许你的问题更适合我