Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    106

    La funzione trim non taglia gli spazi

    Ciao a tutti,
    sono alle prese con la realizzazione di uno script con il quale devo creare un file, prendendo i dati da un altro file e formattarli in un certo modo.
    Sto impazzendo con la funzione trim che non funziona. Non taglia gli spazi.


    Qui il codice e il file se qualcuno vuole provare ad aiutarmi.

    Grazie

  2. #2
    posta qui il codice nei tag CODE

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    106
    Codice PHP:
    <?php
    $rr 
    'http://biodizionario.it/images/semafori/rr.gif';
    $r =  'http://biodizionario.it/images/semafori/r.gif';
    $g =  'http://biodizionario.it/images/semafori/g.gif';
    $v  'http://biodizionario.it/images/semafori/v.gif';
    $vv 'http://biodizionario.it/images/semafori/vv.gif';

    $filer fopen("bio_format.txt""w");
    $file fopen("bio.txt""r");

    while (!
    feof($file)) {
        
    $buffer fgets($file4096);
        
        
    $pos stripos($buffer,$rr);
        if (
    $pos$s "RR; ";
        
    $pos stripos($buffer,$r);
        if (
    $pos$s "R; ";
        
    $pos stripos($buffer,$g);
        if (
    $pos$s "G; ";
        
    $pos stripos($buffer,$v);
        if (
    $pos$s "V; ";
        
    $pos stripos($buffer,$vv);
        if (
    $pos$s "VV; ";
        
        
    $pos1 stripos($buffer,'[b]');
        
    $pos2 stripos($buffer,'[/b]');
        
    $diff $pos2 $pos1;
        
    $start $pos1 3;
        
    $rest $diff 3;
        
    $nome substr($buffer$start$rest); 
        
    $s $s $nome ";" ;
        
        
    $pos1 stripos($buffer,'[/b]');
        
    $pos2 stripos($buffer,'
    '
    );
        
    $diff $pos2 $pos1;
        
    $start $pos1 4;
        
    $rest $diff 4;
        
    $descr substr($buffer$start$rest);
        
    $descr1 trim($descr); 
        
    $s $s $descr1 ";" "\r\n";
        
        
    fwrite($filer$s);
    }
    fclose($file);
    fclose($filer);
    ?>

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    visto che lamenti un problema in una funzione nativa di php prova a decontestualizzarla e a vedere se funziona (ad esempio con i codici che ci sono su php.net).

    Se ancora non si comporta come dovrebbe potrebbe essere un baco della versione di php che usi, altrimenti c'è qualcosa che interferisce nel tuo codice.

    ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    106
    Ho già provato:

    ho creato questo file con questo codice e funziona correttamente

    Codice PHP:
    <?php
    $s1 
    "                           prova                     ";
    echo 
    "'" $s1 "'" "
    "
    ;
    $s2 trim($s1);
    echo 
    "'" $s2 "'" "
    "
    ;
    ?>

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    106
    Niente, nessuno sa darmi una spiegazione perché in uno script mi funziona e nell'altro no?

  7. #7
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Io ho provato lo script che hai linkato tu nel primo post e mi pare che spazi non ce ne siano...

    Ci sono piuttosto dei caratteri come questo "†" ripetuti 6 volte per ciascuna riga scritta in bio_format.txt

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    106
    Ah

    a me invece, lo script mi restituisce una un file le cui righe sono in questo formato

    codice:
    RR; 1-NAPHTHOL;      colorante capelli;
    RR; 1,2,4-BENZENETRIACETATE;      colorante capelli;
    RR; 1,3-BIS-(2,4-DIAMINOPHENOXY)PROPANE;      colorante capelli;
    RR; 1,5-NAPHTHALENEDIOL;      colorante capelli;
    ecc...

    in pratica, non vorrei che ci siano quei spazi fra il punto e virgola e colorante capelli.

    Ae a te invece ti da quel carattere strano allora penso che il problema non sia il trim.
    Non so più cosa fare.

  9. #9
    Codice PHP:
    <?php
    $rr 
    'http://biodizionario.it/images/semafori/rr.gif';
    $r =  'http://biodizionario.it/images/semafori/r.gif';
    $g =  'http://biodizionario.it/images/semafori/g.gif';
    $v  'http://biodizionario.it/images/semafori/v.gif';
    $vv 'http://biodizionario.it/images/semafori/vv.gif';

    $filer fopen("bio_format.txt""w");
    $file fopen("bio.txt""r");

    while (!
    feof($file)) {
        
    $buffer fgets($file4096);
        
        
    $pos stripos($buffer,$rr);
        if (
    $pos$s "RR; ";
        
    $pos stripos($buffer,$r);
        if (
    $pos$s "R; ";
        
    $pos stripos($buffer,$g);
        if (
    $pos$s "G; ";
        
    $pos stripos($buffer,$v);
        if (
    $pos$s "V; ";
        
    $pos stripos($buffer,$vv);
        if (
    $pos$s "VV; ";
        
        
    preg_match_all("#[b](.*)[/b][[:space:]]{1,}(.*)<br \\/>#"$buffer$match);
        
        
    $s $s $match[1][0] . ";" ;
        
    $s $s $match[2][0] . ";" "\r\n";
        
        
    fwrite($filer$s);
    }
    fclose($file);
    fclose($filer);
    ?>
    Prova così

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    106
    Grazie mille cubalibre810
    è proprio quello che volevo.
    Devo studiarmi bene la funzione preg_match_all che hai usato.


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.