How to echo the_excerpt without the P tag wrapper?

In the code snippet below, I trying to get the_excerpt to be written out without tags. However, the source formatting shows that the_excerpt is always wrapped in P tags. How can I pull the excerpt without tags?

foreach($myrecentposts as  $idxrecent=>$post) 
{ ?>
<li class="page_item">
    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
    <?php echo strip_tags(substr( the_excerpt(), 0, 75 ))."..." ?>
</li><?php }    
echo "</ul>
</div>";}

Related posts

Leave a Reply

5 comments

  1. in your code above use get_the_excerpt() instead of the_excerpt(), because the last one will output the excerpt to the screen, and not pass it to your other functions…

  2. What about removing the wpautop filter before your list?

    remove_filter( 'the_excerpt', 'wpautop' );
    

    (Make sure to add it back afterwards, so as not to mess up other formatting…)

  3. I tried the above answers but didn’t work for me.

    I tried using the_excerpt but wasn’t displaying any content so I used the below and it worked perfectly

    // $search_text = the_excerpt();
    $search_text = get_the_excerpt();
    
    // Strip the <p> tag by replacing it empty string
    $tags = array("<p>", "</p>");
    $search_content = str_replace($tags, "", $search_text);
    
    // Echo the content
    
    echo $search_content;
    

    I hope this throws more light for someone else too.

    Cheers

  4. Below did the trick using ACF plugin:

    <p>
        <?php
            $summary = get_field('introductory_text');
            echo strip_tags(substr($summary, 0, 520));
        ?>
        <a href="<?php the_permalink(); ?>"> ...read more</a>
    </p>