przewiń do treści

Zend Framework od podstaw

Włodzimierz Gajda

<?php

require_once 'html.inc.php';
require_once 'toc.inc.php';

class My_Parser
{
    public static function parseArticle($filename)
    {
        $tmp   = file_get_contents($filename);

        $tytul  = trim(htmlGetTagsContent($tmp, 'h1'));
        $autor  = trim(htmlGetTagsContent($tmp, 'h2'));
        $body   = trim(htmlGetTagsContent($tmp, 'body'));
        $lid    = trim(htmlGetFirstMatch($tmp, '|<p class="lid">(.*)</p>|Usim'));

        $body  = htmlDeleteTag($body, 'h1');
        $body  = htmlDeleteTag($body, 'h2');
        $body  = htmlSetFirstMatch($body, '|(<p class="lid">.*</p>)|Usim', '');

        $body  = trim($body);

        $tablicaTOC = getTableOfContents($body);
        $napisTOC   = getTableOfContentsAsString($tablicaTOC);
        $body       = replaceChapters($tablicaTOC, $body);

        $body = preg_replace('/<img src="images\/([^"]+)"/Usim', '<img src="artimg/\\1"', $body);
        $body = str_replace('<pre>', '<pre class="syntax-highlight:xml">', $body);

        $artykul_dane = array(
            'tytul'      => $tytul,
            'slug'       => My_Slugs::string2slug($tytul, array('maxlength' => 50)),
            'tresc'      => $body,
            'lid'        => $lid,
            'spistresci' => $napisTOC
        );
        return $artykul_dane;
    }
}

Listing 21.4. Treść pliku My/Parser.php

Rozdział 21. Identyfikacja rekordów na podstawie wartości slug

listing-21-04.txt