Code to allow html formatting in excerpts

I posted the code below in functions.php to allow html formatting in post excerpts and it worked well on the text but the thumbnail image in the post was duplicated. Can anyone suggest a reason?

function wpse_allowedtags() {
// Add custom tags to this string
return ‘,,
,,,,,

  • ,,

    ,,,’;
    }

    if ( ! function_exists( ‘wpse_custom_wp_trim_excerpt’ ) ) :

    function wpse_custom_wp_trim_excerpt($wpse_excerpt) {
    $raw_excerpt = $wpse_excerpt;
        if ( '' == $wpse_excerpt ) {
    
            $wpse_excerpt = get_the_content('');
            $wpse_excerpt = strip_shortcodes( $wpse_excerpt );
            $wpse_excerpt = apply_filters('the_content', $wpse_excerpt);
            $wpse_excerpt = str_replace(']]>', ']]>', $wpse_excerpt);
    
    
            //Set the excerpt word count and only break after sentence is complete.
                $excerpt_word_count = 75;
                $excerpt_length = apply_filters('excerpt_length', $excerpt_word_count); 
                $tokens = array();
                $excerptOutput = '';
                $count = 0;
    
                // Divide the string into tokens; HTML tags, or words, followed by any whitespace
                preg_match_all('/(<[^>]+>|[^<>s]+)s*/u', $wpse_excerpt, $tokens);
    
                foreach ($tokens[0] as $token) { 
    
                    if ($count >= $excerpt_length && preg_match('/[,;?.!]s*$/uS', $token)) { 
                    // Limit reached, continue until , ; ? . or ! occur at the end
                        $excerptOutput .= trim($token);
                        break;
                    }
    
                    // Add words to complete sentence
                    $count++;
    
                    // Append what's left of the token
                    $excerptOutput .= $token;
                }
    
            $wpse_excerpt = trim(force_balance_tags($excerptOutput));
    
                $excerpt_end = ' <a href="'. esc_url( get_permalink() ) . '">' . '&nbsp;&raquo;&nbsp;' . sprintf(__( 'Read more about: %s &nbsp;&raquo;', 'wpse' ), get_the_title()) . '</a>'; 
                $excerpt_more = apply_filters('excerpt_more', ' ' . $excerpt_end); 
    
                //$pos = strrpos($wpse_excerpt, '</');
                //if ($pos !== false)
                // Inside last HTML tag
                //$wpse_excerpt = substr_replace($wpse_excerpt, $excerpt_end, $pos, 0); /* Add read more next to last word */
                //else
                // After the content
                $wpse_excerpt .= $excerpt_more; /*Add read more in new paragraph */
    
            return $wpse_excerpt;   
    
        }
        return apply_filters('wpse_custom_wp_trim_excerpt', $wpse_excerpt, $raw_excerpt);
    }
    

    endif;
    remove_filter(‘get_the_excerpt’, ‘wp_trim_excerpt’);
    add_filter(‘get_the_excerpt’, ‘wpse_custom_wp_trim_excerpt’);

  • Read more here: Code to allow html formatting in excerpts

    Leave a Reply

    Your email address will not be published. Required fields are marked *