max_excerpt_length = $wp->applyFilters('mailpoet_newsletter_post_excerpt_length', $this->max_excerpt_length); } function getContent($post, $displayType) { if($displayType === 'titleOnly') { return ''; } elseif ($displayType === 'excerpt') { // get excerpt if(!empty($post->post_excerpt)) { return self::stripShortCodes($post->post_excerpt); } else { return $this->generateExcerpt(self::stripShortCodes($post->post_content)); } } else { return self::stripShortCodes($post->post_content); } } function filterContent($content, $display_type, $with_post_class = true) { $content = self::convertEmbeddedContent($content); // convert h4 h5 h6 to h3 $content = preg_replace('/<([\/])?h[456](.*?)>/', '<$1h3$2>', $content); // convert currency signs $content = str_replace( array('$', '€', '£', '¥'), array('$', '€', '£', '¥'), $content ); // strip useless tags $tags_not_being_stripped = array( '
', '', '', '', '', '',
'', ' ', $content);
if(count($excerpts) > 1) {
// separator was present
return $excerpts[0];
} else {
// Separator not present, try to shorten long posts
return wp_trim_words($content, $this->max_excerpt_length, ' …');
}
}
private function stripShortCodes($content) {
// remove captions
$content = preg_replace(
"/\[caption.*?\](.*<\/a>)(.*?)\[\/caption\]/",
'$1',
$content
);
// remove other shortcodes
$content = preg_replace('/\[[^\[\]]*\]/', '', $content);
return $content;
}
private function convertEmbeddedContent($content = '') {
// remove embedded video and replace with links
$content = preg_replace(
'#', '
', '
', ''
);
if($display_type === 'full') {
$tags_not_being_stripped = array_merge($tags_not_being_stripped, array('
', '
', '
', '
'));
}
$content = strip_tags($content, implode('', $tags_not_being_stripped));
if($with_post_class) {
$content = str_replace('