Strip shortcodes when making excerpts. Props hailin. fixes #7100

git-svn-id: http://svn.automattic.com/wordpress/trunk@8054 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
ryan 2008-06-05 20:11:38 +00:00
parent f3de02cca6
commit 570cb5374c
2 changed files with 20 additions and 0 deletions

View File

@ -839,6 +839,9 @@ function human_time_diff( $from, $to = '' ) {
function wp_trim_excerpt($text) { // Fakes an excerpt if needed
if ( '' == $text ) {
$text = get_the_content('');
$text = strip_shortcodes( $text );
$text = apply_filters('the_content', $text);
$text = str_replace(']]>', ']]>', $text);
$text = strip_tags($text);

View File

@ -134,6 +134,23 @@ function shortcode_atts($pairs, $atts) {
return $out;
}
/*
* stip all the shortcodes from a post's content
* returns the content without shortcodes
*/
function strip_shortcodes( $content ) {
global $shortcode_tags;
if (empty($shortcode_tags) || !is_array($shortcode_tags))
return $content;
$pattern = get_shortcode_regex();
return preg_replace('/'.$pattern.'/s', '', $content);
}
add_filter('the_content', 'do_shortcode', 11); // AFTER wpautop()
?>