diff --git a/bridges/FilterBridge.php b/bridges/FilterBridge.php index e8b451c7..a20b5b9f 100644 --- a/bridges/FilterBridge.php +++ b/bridges/FilterBridge.php @@ -26,11 +26,34 @@ class FilterBridge extends FeedExpander { ), 'defaultValue' => 'permit', ), + 'title_from_content' => array( + 'name' => 'Generate title from content', + 'type' => 'checkbox', + 'required' => false, + ) )); protected function parseItem($newItem){ $item = parent::parseItem($newItem); + if($this->getInput('title_from_content') && array_key_exists('content', $item)) { + + $content = str_get_html($item['content']); + + $pos = strpos($item['content'], ' ', 50); + + $item['title'] = substr( + $content->plaintext, + 0, + $pos + ); + + if(strlen($content->plaintext) >= $pos) { + $item['title'] .= '...'; + } + + } + switch(true) { case $this->getFilterType() === 'permit': if (preg_match($this->getFilter(), $item['title'])) {