Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    spezzettare un file di testo con le preg

    ho un file txt del tipo:

    codice:
    versione=EDIZIONE01
    &titolo=Siamo pazzi?
    &testo1=Questa iniziativa e' pensata per capire i nostri limiti.
    
    Il nostro impegno nei Suoi confronti e' sempre massimo. Il nostro obiettivo sono i Suoi risultati, in termini di profitto e di comunicazione.
    
    Per questi motivi il Suo intervento e' prezioso per guidare il nostro cambiamento, affinche' noi possiamo offrirLe le migliori opportunità di crescita.
    
    Quello che Le proponiamo e' un piccolo questionario, insolito e divertente. Otto brevi domande cui rispondere in piena liberta'.
    &question1=come ti chiami? 
    &question2=sei andato a fare la spesa oggi?
    &question3=ti sei lavato?
    io devo poter prendere i vari pezzi e metterli in n caselle di testo quindi versione, titolo, testo1 e le varie questions


    per le questions sono riuscito a metterle in un array, e poi per metterle in una casella di testo non ci vuole niente...ma per prendere i primi pezzi come faccio? avete una qualche idea?

    questo è il codice che ho usato per le questions, dovrebbe essere una cosa simile anche per gli altri, ma non riesco ad imposare la preg...


    Codice PHP:
    <?php
    $filename
    =realpath("../questions.txt");
    $strArr=file($filename);

    $newArr=pulisci($strArr);

    echo 
    "<pre>Domande:
    "
    ;
    print_r($newArr);
    echo 
    "</pre>";


    /**
    * scorro l'array contenente ogni riga del file
    * prendo solo i record contenenti le domande
    * e cancello tutti gli altri
    */

    function pulisci( &$strArr ){
        
    $newArr = array();
        foreach(
    $strArr as $elemento) {
            if (
    stristr($elemento,"&question"))
                
    $newArr[]=preg_replace("/(&question[0-9]*=)/","",$elemento);
          }

          return 
    $newArr;
    }
    ?>






    grazie per ogni aiuto!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  2. #2
    ok! anche per versione e titolo sono riuscito; l'ho fatto senza le preg


    Codice PHP:
    $versione=substr($strArr[0],strrpos($strArr[0],"=")+1);
    echo 
    "Versione: {$versione}
    "
    ;

    $titolo=substr($strArr[1],strrpos($strArr[1],"titolo=")+5);
    echo 
    "
    Titolo: 
    {$titolo}
    "

    il problema ora si presenta per la parte di testo...


    che è spezzattata su più elementi dell'array, essendo intervallata da alcuni \n la funzione file me l'ha sbattuta su più elementi.
    Dovrei prendere dall'elemento 3 alla prima question...che non sta sempre allo stesso posto. Dipende ovviamente dalla lunghezza del testo...
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  3. #3
    alla fine ho fatto tutto senza le preg

    perché stavo smenando un sacco di tempo solo per impostare la preg senza venirne a capo; questa è la soluzione che ho adottato:


    Codice PHP:
    function prendiTesto( &$strArr ){
        
    $testo="";
        
        for (
    $i=2;$i<=sizeof($strArr);$i++){
            if (
    stristr($strArr[$i],"&question"))    continue;
            
    $testo.=$strArr[$i];
        }
        
        return 
    substr($testo,8);





    se a qualcuno viene comunque in mente come lo potrei fare con le espressioni regolari posti pure la soluzione che non la si butta via
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

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.