无法在 laravel 的 rss 提要中获取缩略图
Cannot get thumbnail in rss feed in laravel
我正在使用 willvincent feed reader 来解析 rss feed,但我似乎无法获得图像的缩略图,
这是我的代码
Route::get('feed', function(Request $request) {
$f = FeedsFacade::make('http://www.cbn.com/cbnnews/us/feed/');
// $results = [
// 'image' => $f->get_image_url(),
// ];
foreach($f->get_items(0, $f->get_item_quantity()) as $item) {
$i['title'] = $item->get_title();
$i['thumbnail'] = $item->get_thumbnail();
$i['description'] = $item->get_description();
$i['content'] = $item->get_content();
$i['link'] = $item->get_link();
$i['date'] = $item->get_date();
$results['items'][] = $i;
}
dd($results);
})->name('feed');
缩略图总是return null,感谢任何人的帮助
下面是我们如何从 rss 提要中调用图像和其他内容
注意: 要获取图像,重要的是您获取 rss 提要的站点也用于在其提要中提供图像。否则将不会在您获取的提要中获取图像 (可能仍然需要一些技巧来获取图像,但我现在还不知道)。例如,google 新闻提要不提供图像,因此您无法从 google 新闻提要中获取图像。
这是一个用于提供图片的网站示例。
//In your CONTROLLER file
$feed = Feeds::make('https://globalnews.ca/feed/');
$data = array(
'title' => $feed->get_title(),
'permalink' => $feed->get_permalink(),
'items' => $feed->get_items(),
);
return view('view_file', $data)
//OR in case you are calling array value to show on view then it would be like this
return view('view_file', array(
'name' => $var
), $data) //notice "$data" at end of array.
现在在控制器部分完成后,这就是您在视图文件中调用的方式
@foreach ($items as $item)
//GET IMAGE
@if($enclosure = $item->get_enclosure())
<img src="{{$enclosure->get_thumbnail()}}">
@endif
//GET TITLE
<div class="news-title">{{ $item->get_title() }}</div>
//GET DESCRIPTION
{{$item->get_description()}}
//NOTE: this will bring html. TO show as output instead of html you can either use {!! !!) or "strip_tags" function. And "substr" function to show first 100 characters only as small description
{{ substr(strip_tags($item->get_description()), 0, 100) }}
//GET LINK/URL OF NEWS
<a href="{{ $item->get_permalink() }}" target="_blank">Read More</a>
@endforeach
我展示并参考了其示例的供稿
我正在使用 willvincent feed reader 来解析 rss feed,但我似乎无法获得图像的缩略图, 这是我的代码
Route::get('feed', function(Request $request) {
$f = FeedsFacade::make('http://www.cbn.com/cbnnews/us/feed/');
// $results = [
// 'image' => $f->get_image_url(),
// ];
foreach($f->get_items(0, $f->get_item_quantity()) as $item) {
$i['title'] = $item->get_title();
$i['thumbnail'] = $item->get_thumbnail();
$i['description'] = $item->get_description();
$i['content'] = $item->get_content();
$i['link'] = $item->get_link();
$i['date'] = $item->get_date();
$results['items'][] = $i;
}
dd($results);
})->name('feed');
缩略图总是return null,感谢任何人的帮助
下面是我们如何从 rss 提要中调用图像和其他内容
注意: 要获取图像,重要的是您获取 rss 提要的站点也用于在其提要中提供图像。否则将不会在您获取的提要中获取图像 (可能仍然需要一些技巧来获取图像,但我现在还不知道)。例如,google 新闻提要不提供图像,因此您无法从 google 新闻提要中获取图像。
这是一个用于提供图片的网站示例。
//In your CONTROLLER file
$feed = Feeds::make('https://globalnews.ca/feed/');
$data = array(
'title' => $feed->get_title(),
'permalink' => $feed->get_permalink(),
'items' => $feed->get_items(),
);
return view('view_file', $data)
//OR in case you are calling array value to show on view then it would be like this
return view('view_file', array(
'name' => $var
), $data) //notice "$data" at end of array.
现在在控制器部分完成后,这就是您在视图文件中调用的方式
@foreach ($items as $item)
//GET IMAGE
@if($enclosure = $item->get_enclosure())
<img src="{{$enclosure->get_thumbnail()}}">
@endif
//GET TITLE
<div class="news-title">{{ $item->get_title() }}</div>
//GET DESCRIPTION
{{$item->get_description()}}
//NOTE: this will bring html. TO show as output instead of html you can either use {!! !!) or "strip_tags" function. And "substr" function to show first 100 characters only as small description
{{ substr(strip_tags($item->get_description()), 0, 100) }}
//GET LINK/URL OF NEWS
<a href="{{ $item->get_permalink() }}" target="_blank">Read More</a>
@endforeach
我展示并参考了其示例的供稿