Search code examples
phpwordpressmeta

Strip out all formatting tags of excerpt


The author of the bottom code states that he uses the_excerpt_rss() because it "strips out all formatting tags". My question is do both codes below "strip out all formatting tags" ? What is the difference between the two codes below? Which would you suggest using?

<meta name="description" content="<?php echo strip_tags(get_the_excerpt($post->ID)); ?>" />

versus

<meta name="description" content="<?php the_excerpt_rss(); ?>" />

Solution

  • By default, the_excerpt_rss() does not strip HTML tags, parses out links for numbered URL footnotes. In order for it to actually strip tags, you will have to pass 2 to the parameter $encode_html (see http://codex.wordpress.org/Template_Tags/the_excerpt_rss):

    $encode_html
    (integer) Defines html tag filtering and special character (e.g. '&') encoding. Options are:
    0 - (Default) Parses out links for numbered "url footnotes".
    1 - Filters through the PHP function htmlspecialchars(), but also sets cut to 0, so is not recommended > when using the cut parameter.
    2 - Strips html tags, and replaces '&' with HTML entity equivalent (&). This is the default when > using the cut parameter.

    I would probably rely on the PHP strip_tags() anyway just because the_excerpt_rss() is intended for use in RSS feeds, so strip_tags() seems cleaner to me.