1
0
فهرست منبع

[FilterBridge] Add option to build title from content

Adds a new option '&title_from_content=on' to build the title for feed
items from the feeds content. The title is generated from the first
whitespace after 50 characters of the content or the entire content if
the total size is lower than 50 characters.

References #587
logmanoriginal 5 سال پیش
والد
کامیت
3a496e3b18
1فایلهای تغییر یافته به همراه23 افزوده شده و 0 حذف شده
  1. 23 0
      bridges/FilterBridge.php

+ 23 - 0
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'])) {