Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Parsing del testo.

  1. #1
    Utente di HTML.it L'avatar di ARCTiC
    Registrato dal
    Sep 2002
    Messaggi
    2,814

    Parsing del testo.

    Salve, premetto che sono fresco fresco di php e non farei le domande che sto per fare se avessi piu' tempo per imparare, ma devo consegnare un piccolo lavoro in tempi brivi e non ho proprio il tempo materiale nemmeno per apprendere i concetti di base... ma lo devo fare "per forza", poi avro' piu' tempo a disposizione per "introdurmi" al PHP (un pezzo di programmazione che mi sono sempre perso perche' sono idiota ).

    Veniamo al dunque, io ho un file di testo dal quale devo prelevare dei dati, i dati sono strutturati esattamente come un file .ini:

    -
    [Sezione1]
    Variabile1=Dato
    Veriabile2=Dato

    [Sezione2]
    Variabile2=Dato
    Veriabile2=Dato
    -

    ...e cosi' via. Avevo quindi deciso di utilizzare una funzione gia' implementata nel PHP4 per evitare di scrivermi la mia: parse_ini_file();
    So come utilizzarla in modo semplice, ma ho deti problemi nel rendere la pagina dinamica. Prima di tutto dovrei capire come utilizzare la matrice di varibili in lettura visto che le [Sezioni] non sono fisse (cambiano in numero...). Vorrei poi un consiglio da novellino: quale editor html (io utilizzo normalmente DreamWeaver... ma non ho mai messo mani sul PHP) dovrei utilizzare in modo da "costruire" la mia pagina web prendendo come risultati le variabili lette via PHP?
    Scusate se lo domande sono "stupide"... ma come dicevo, prima che possa imparare tutto per farlo da solo mi "scade il tempo".
    Grazie.
    In Vino Veritas, In Scarpe Adidas, In Bagno Badedas, In Culo un Ananas ©2003 ARCTiC

  2. #2
    codice:
    $cnt_ini = parse_ini_file("file.ini",true);
    echo $cnt_ini['Sezione1']['Variabile1'];
    Questo codice stamperà il contenuto della variabile 'Variabile1' presente nella sesione 'Sezione1'

    Maggiori dettagli li trovi qui
    http://it.php.net/manual/it/function.parse-ini-file.php
    Mah... Einstein.. non era bello di faccia... ma che fisico!!!

  3. #3
    Utente di HTML.it L'avatar di ARCTiC
    Registrato dal
    Sep 2002
    Messaggi
    2,814
    Ti ringrazio, stavo giustappunto provando... ma ho incontrato un problema che mi ha rovinato i programmi: il file non e' completamente ".ini" compliant (lol) ...intendo dire che ci sono commenti messi dentro con "//" e il parse_ini si inchioda.. e poi ci sono delle variabili all'interno della sezione ripetute (stesso nome) e il parse salva solo l'ultima variabile! Risultato: mi devo leggere riga per riga "a mano".. ho trovato questo codice.. ma non so perche' non funziona!

    <?php
    function parse_ini_str($Str,$ProcessSections = TRUE) {
    $Section = NULL;
    $Data = array();
    if ($Temp = strtok($Str,"\r\n")) {
    do {
    switch ($Temp{0}) {
    case ';':
    case '#':
    break;
    case '[':
    if (!$ProcessSections) {
    break;
    }
    $Pos = strpos($Temp,'[');
    $Section = substr($Temp,$Pos+1,strpos($Temp,']',$Pos)-1);
    $Data[$Section] = array();
    break;
    default:
    $Pos = strpos($Temp,'=');
    if ($Pos === FALSE) {
    break;
    }
    $Value = array();
    $Value["NAME"] = trim(substr($Temp,0,$Pos));
    $Value["VALUE"] = trim(substr($Temp,$Pos+1),' "');

    if ($ProcessSections) {
    $Data[$Section][] = $Value;
    }
    else {
    $Data[] = $Value;
    }
    break;
    }
    } while ($Temp = strtok("\r\n"));
    }
    return $Data;
    }

    $filename = "result.txt";
    $handle = fopen($filename, "r");
    $contents = fread($handle, filesize($filename));
    fclose($handle);
    echo call_user_func('parse_ini_str', $contents);
    ?>
    In Vino Veritas, In Scarpe Adidas, In Bagno Badedas, In Culo un Ananas ©2003 ARCTiC

  4. #4
    Utente di HTML.it L'avatar di ARCTiC
    Registrato dal
    Sep 2002
    Messaggi
    2,814
    Mi correggo.. funziona.. ora viene il secondo step.. come recuperare i dati singolarmente? Mado' se sono "ignorante"...
    In Vino Veritas, In Scarpe Adidas, In Bagno Badedas, In Culo un Ananas ©2003 ARCTiC

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.