Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 21
  1. #11
    Utente di HTML.it L'avatar di chiedo
    Registrato dal
    Feb 2011
    Messaggi
    14
    Ok, ok, se si tratta di file html è più semplice perché posso usare i commenti per trovare dei punti. Il problema sorge quando devo modificare dei file di testo.
    Se volessi inserire del testo nel vettore_testo[3].
    Devo dividere il tutto, inserire all'interno del testo e riunire il tutto.
    Forse opterò per qualcosa come un explode

    codice:
    $nome_file = 'nomefile.txt';
    $append_alla_posizione = 10;
    $testo_da_aggiungere = 'testo in aggiunta';
    
    $originale = file_get_contents($nome_file);
    $esploso = explode( $originale[$append_alla_posizione] , $pizza );
    $finale = $esploso[0] . $testo_da_aggiungere . $esploso[1];
    file_put_contents($nome_file, $finale);
    Solo che il metodo fa un pochino schifo, perché anche qui dovrò usare un carattere unico per poter capire dove dividere altrimenti explode non sarà solo di due elementi. Non solo, non saprò in quale dei punti si separazione dovrò inserire il testo.
    Certo che è grave che PHP che è così avanzato non abbia una funzione append.

    Qualcuno che mi aiuti?

  2. #12
    E cosa tivieta di usare in un file di testo che usi come template?

  3. #13
    Questa "tecnica" l'ho vista spesso per scrivere i file di configurazione durante le installazioni di software web
    Il template (di solito config.php.dist) ha cose tipo
    codice:
    $user=@USER_NAME;
    $passwd=@PASSWORD;
    $db_name=@DBNAME;
    .....
    e la procedura di installazione fa (quasi) quello che ho scritto, salvando poi come config.php

  4. #14
    Utente di HTML.it L'avatar di chiedo
    Registrato dal
    Feb 2011
    Messaggi
    14
    Si, infatti il tuo metodo è very very very very (ecc ecc) ok, ma come il mio sfrutta sempre qualche stratagemma cretino per poter identificare il punto in cui scrivere, non ottenendo quest'ultimo tramite la sua posizione.

    ti spiego:
    Se volessi modificare un file di testo ottenuto da una pagina web (non è il mio caso!!), in automatico, non potrei sfruttare dei marcatori. Non so se mi sono spiegato bene.

    Sarebbe un gran caspitino di problema.

    {quello che voglio dire è che questi sono replace e non append}

  5. #15
    Capito cosa intendi.
    E' un problema che non ho mai affrontato in modo generico come vorresti tu, quindi "cedo la mano", sorry

  6. #16
    Utente di HTML.it L'avatar di chiedo
    Registrato dal
    Feb 2011
    Messaggi
    14
    Oh, non credere di non essermi stato d'aiuto, mi piace la storia dei marcatori.
    Mi fa schifo solo il fatto di non poter fare append un po' alla "pene di cane".

  7. #17
    Originariamente inviato da chiedo
    Oh, non credere di non essermi stato d'aiuto, mi piace la storia dei marcatori.
    Mi fa schifo solo il fatto di non poter fare append un po' alla "pene di cane".
    Tranquillo
    (ihihi "pene di cane" )

  8. #18
    Originariamente inviato da chiedo
    Mi fa schifo solo il fatto di non poter fare append un po' alla "pene di cane".
    Ripeto, dipende da cosa intendi per "alla pene di cane". Ci sara' un criterio in base al quale decidi DOVE devi sostituire/inserire il testo, no?

  9. #19
    Utente di HTML.it L'avatar di chiedo
    Registrato dal
    Feb 2011
    Messaggi
    14
    Si.
    Vedi il testo come un vettore stringa.
    Voglio inserire una parola nella posizione 3.
    Da quanto ho capito in php non si può.

    Mmm ILLUMINAZIONE:

    faccio un
    $var = substr ( $string , 0 , $posizione )
    dopodiché esplodo usando $var e prendo la seconda parte.

    Piazzo in mezzo, a mò di sottiletta, il mio testo ed il gioco dovrebbe essere fatto.

    Forse ho risolto. Domani provo!
    {in qualsiasi caso questo metodo occuperà di certo uan memoria infernale per i testi lunghi perché se ho $posizione == 100000 dovrò tenere in memoria tutta la prima parte}

    Comunque, non lo so, devo provare. Buonanotte ad all the world!

  10. #20
    Certo che si puo' in PHP, basta conoscere le sue funzioni. Per questo caso devi usare substr_replace() passando 0 come ultimo parametro come specificato nel manuale

    if length is zero then this function will have the effect of inserting replacement into string at the given start offset
    Codice PHP:
    $string = .... ; // stringa originale
    $insert = .... ; // stringa da inserire
    $position = .... ; // posizione in cui inserirla

    $new_string substr_replace($string$insert$position0); 

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.