wp_html_excerpt( string $str, int $count, string $more = null )

Safely extracts not more than the first $count characters from html string.


Description Description

UTF-8, tags and entities safe prefix extraction. Entities inside will NOT be counted as one character. For example & will be counted as 4, < as 3, etc.


Parameters Parameters

$str

(string) (Required) String to get the excerpt from.

$count

(int) (Required) Maximum number of characters to take.

$more

(string) (Optional) What to append if $str needs to be trimmed. Defaults to empty string.

Default value: null


Top ↑

Return Return

(string) The excerpt.


Top ↑

Source Source

File: wp-includes/formatting.php

function wp_html_excerpt( $str, $count, $more = null ) {
	if ( null === $more )
		$more = '';
	$str = wp_strip_all_tags( $str, true );
	$excerpt = mb_substr( $str, 0, $count );
	// remove part of an entity at the end
	$excerpt = preg_replace( '/&[^;\s]{0,6}$/', '', $excerpt );
	if ( $str != $excerpt )
		$excerpt = trim( $excerpt ) . $more;
	return $excerpt;
}

Top ↑

Changelog Changelog

Changelog
Version Description
2.5.0 Introduced.


Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note content
    Contributed by Codex

    Example

    $str = 'There are lots &amp; <strong>lots</strong> of usages for this function. I know you can think of some! (lots more text here)';
    
    echo wp_html_excerpt( $str, 50 );
    // Output: 'There are lots &amp; lots of usages for this funct'
    
    // Using the $more parameter:
    echo wp_html_excerpt( $str, 50, '...' );
    // Output: 'There are lots &amp; lots of usages for this funct...'
    

You must log in before being able to contribute a note or feedback.