diff --git a/bridges/TheHackerNewsBridge.php b/bridges/TheHackerNewsBridge.php index dfe07543..98b8f840 100644 --- a/bridges/TheHackerNewsBridge.php +++ b/bridges/TheHackerNewsBridge.php @@ -19,14 +19,18 @@ class TheHackerNewsBridge extends BridgeAbstract $article_author = str_replace('', '', $article_author); $article_title = $element->find('h2.home-title', 0)->plaintext; + $article_timestamp = time(); //Date without time - $article_timestamp = strtotime( - extractFromDelimiters( - $element->find('i.icon-calendar', 0)->parent()->outertext, - '', - '' - ) - ); + $calendar = $element->find('i.icon-calendar', 0); + if ($calendar) { + $article_timestamp = strtotime( + extractFromDelimiters( + $calendar->parent()->outertext, + '', + '' + ) + ); + } //Article thumbnail in lazy-loading image if (is_object($element->find('img[data-echo]', 0))) { @@ -41,13 +45,16 @@ class TheHackerNewsBridge extends BridgeAbstract $article_thumbnail = []; } - if ($article = getSimpleHTMLDOMCached($article_url)) { + $article = getSimpleHTMLDOMCached($article_url); + if ($article) { //Article body - $contents = $article->find('div.articlebody', 0)->innertext; - $contents = stripRecursiveHtmlSection($contents, 'div', '
'); - $contents = stripWithDelimiters($contents, ''); - + $var = $article->find('div.articlebody', 0); + if ($var) { + $contents = $var->innertext; + $contents = stripRecursiveHtmlSection($contents, 'div', '
'); + $contents = stripWithDelimiters($contents, ''); + } //Date with time if (is_object($article->find('meta[itemprop=dateModified]', 0))) { $article_timestamp = strtotime( @@ -68,7 +75,7 @@ class TheHackerNewsBridge extends BridgeAbstract $item['author'] = $article_author; $item['enclosures'] = $article_thumbnail; $item['timestamp'] = $article_timestamp; - $item['content'] = trim($contents); + $item['content'] = trim($contents ?? ''); $this->items[] = $item; $limit++; }