max_excerpt_length = Hooks::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, $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(
'#',
'
', '
', '', '
', '
', '
', ''
);
$content = strip_tags($content, implode('', $tags_not_being_stripped));
if($with_post_class) {
$content = str_replace('