A WordPress-centric search engine for devs and theme authors



get_extended ›

Since1.0.0
Deprecatedn/a
get_extended ( $post )
Parameters:
  • (string) $post Post content.
    Required: Yes
Returns:
  • (array) Post before ('main'), after ('extended'), and custom read more ('more_text').
Defined at:
Codex:

Get extended entry info (<!--more-->).

There should not be any space after the second dash and before the word 'more'. There can be text or space(s) after the word 'more', but won't be referenced.

The returned array has 'main', 'extended', and 'more_text' keys. Main has the text before the <!--more-->. The 'extended' key has the content after the <!--more--> comment. The 'more_text' key has the custom "Read More" text.



Source

function get_extended( $post ) {
	//Match the new style more links.
	if ( preg_match( '/<!--more(.*?)?-->/', $post, $matches ) ) {
		list($main, $extended) = explode( $matches[0], $post, 2 );
		$more_text             = $matches[1];
	} else {
		$main      = $post;
		$extended  = '';
		$more_text = '';
	}

	//  leading and trailing whitespace.
	$main      = preg_replace( '/^[\s]*(.*)[\s]*$/', '\\1', $main );
	$extended  = preg_replace( '/^[\s]*(.*)[\s]*$/', '\\1', $extended );
	$more_text = preg_replace( '/^[\s]*(.*)[\s]*$/', '\\1', $more_text );

	return array(
		'main'      => $main,
		'extended'  => $extended,
		'more_text' => $more_text,
	);
}