Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
 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;
 }