function genHTML($cache) { $news = json_decode(file_get_contents($cache), true); $html = ''; foreach ($news['assets'] as $article) { $summary = new Teaser(); $content = $summary->createSummary($article['body'], 'text', $article['title']); $html .= '<div class="article">'; $html .= '<div class="article-section">' . $article['sectionDisplayName'] . '</div>'; $html .= '<h1 class="article-title"><a href="' . $article['url'] . '" class="article-link">' . $article['title'] . '</a></h1>'; // $html .= '<div class="article-summary">'.$article['summary'].'</div>'; $html .= '<ul class="artile-list"><li class="article-item">' . implode('</li><li class="article-item">', $content) . '</li></ul>'; $html .= '</div>'; } return $html; }
public function getArticleData($item) { $url = $item['link']; $source = $item['source']; $headline = $item['title']; $selectors = $this->selectors[$source]; $result = array(); $result['url'] = $url; $result['title'] = $headline; $result['source'] = $source; $result['card'] = "n"; $result['image'] = ""; $result['caption'] = ""; $result['shortUrl'] = $this->getBitlyUrl($result['url']); $html = $this->getContent($url); $pageHTML = str_get_html($html); $contentHTML = $pageHTML->find($selectors[1], 0); $image = $pageHTML->find($selectors[2], 0); if (isset($contentHTML) && isset($image)) { $captionLimit = 110; $plaintext = $this->getParagraphs($contentHTML); //$contentHTML->plaintext; $image = $image->content; if (strlen($plaintext) > 500 && $image != "") { $html = ''; /* Summary */ $summary = new Teaser(); $content = $summary->createSummary($plaintext, 'text', $headline); $caption = $content['0']; print "<p>Caption:</p><pre class='line-preview'>" . $caption . "</pre><hr>"; if (strlen($caption) > $captionLimit) { $caption = substr($caption, 0, strpos($caption, '.', $captionLimit) + 1); // If still too long then try the 2nd text snippet... if (strlen($caption) > $captionLimit && isset($content['1'])) { $caption = $content['1']; if (strlen($caption) > $captionLimit) { $caption = substr($caption, 0, strpos($caption, '.', $captionLimit) + 1); } // And - if still too long then try the 2nd text snippet... if (strlen($caption) > $captionLimit && isset($content['2'])) { $caption = $content['2']; if (strlen($caption) > $captionLimit) { $caption = substr($caption, 0, strpos($caption, '.', $captionLimit) + 1); } } } } $result['headline'] = $this->convertSmartQuotes($headline); $result['caption'] = $this->convertSmartQuotes($caption); $result['lines'] = $this->getLinesOfText($result['caption']); $result['image'] = $image; } else { print "<p><b>END:</b> Content too short, or no image.</p>"; print "<textarea>" . $plaintext . "</textarea>"; } } else { print "<p><b>END:</b> Unable to get any content for Article.</p>"; } return $result; }