przewiń do treści

PHP, MySQL i MVC. Tworzenie witryn WWW opartych na bazie danych

Włodzimierz Gajda

function parse_txt($filename)
{
    $p = file($filename);

    $w = array();
        
    if (preg_match('/^ROK:(.*)$/', trim($p[0]), $m)) {
        $w['rocznik'] = trim($m[1]);
    } else {
        $w['rocznik'] = '';
    }
    
    if (preg_match('/^NUMER:(.*)$/', trim($p[1]), $m)) {
        $w['numer'] = trim($m[1]);
    } else {
        $w['numer'] = '';
    }    
    
    if (preg_match('/^STRONY:([0-9]+),([0-9]+)$/', trim($p[2]), $m)) {
        $w['odstrony'] = trim($m[1]);
        $w['dostrony'] = trim($m[2]);
    } else {
        $w['odstrony'] = '';
        $w['dostrony'] = '';
    }        
    
    if (preg_match('/^TYTUŁ:(.*)$/', trim($p[3]), $m)) {
        $w['tytul'] = trim($m[1]);
    } else {
        $w['tytul'] = '';
    }    
    
    if (preg_match('/^LID:(.*)$/', trim($p[4]), $m)) {
        $w['lid'] = trim($m[1]);
    } else {
        $w['lid'] = '';
    }        
    
    if (preg_match('/^RUBRYKA:(.*)$/', trim($p[5]), $m)) {
        $tmp = explode('.', $m[1]);
        $w['rubryka'] = trim($tmp[0]);
        $w['podrubryka'] = trim($tmp[1]);
    } else {
        $w['rubryka'] = '';
        $w['podrubryka'] = '';
    }           
    
    $autorzy = array();    
    if (preg_match('/^AUTOR:(.*)$/', trim($p[6]), $m)) {
        $a = $m[1];
        $tmp = explode(',', trim($a));
        foreach ($tmp as $tmp_autor) {
            $n = explode(' ', trim($tmp_autor));
            $autor = array();
            $autor['imie'] = trim($n[0]);
            $autor['nazwisko'] = trim($n[1]);
            array_push($autorzy, $autor);
        }
    };
    
    $w['autorzy'] = $autorzy;
    
    return $w;
}

Listing 30.6. Funkcja parse_txt() odpowiedzialna za przekształcenie pliku tekstowego w tablicę asocjacyjną

Rozdział 30. Konwersja plików z danymi

listing-30-06.txt

Reklama

Szkolenia z Symfony 2.0