Visualizzazione risultati 1 fino 9 di 9

Discussione: Trovare numero riga da una parola

  1. #1
    Guest

    Predefinito Trovare numero riga da una parola

    Benissimo, Vorrei sapere come trovare un numero della riga da una parola esempio:
    Ho un file che si chiama:
    testo.txt
    E un altro che si chiama: testos.txt
    Devo trovare una parola nel file: testo.txt e devo ricavare la riga, così da poter "cancellare" il testo di quella riga sia nel primo file che nel secondo anche se hanno testi diversi, Mi sapete aiutare?
    Ecco un esempio
    il file testo.txt ha 100 righe
    e voglio trovare la parola: cane
    Questo codice mi dovrà dare la riga esatta di dove si trova la parola cane.
    Esempio: Se la parola cane si trova nella riga 6 il codice mi dovrà restituire 6

    Mi serve solo questa parte di codice, cioè quella che devo trovare il numero della riga da una parola chiave. Il resto riesco a farlo da solo =D . Grazie in anticipo

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,691

    Predefinito

    file() + foreach() + if(riga[i] != rigas[i]) + strpos() +unset()

    Preparato il nuovo array, con la implode() trasformi tutto in una "stringa", e con la file_put_contents() aggiorni i file.

    Ciao!
    Ultima modifica di alemoppo : 24-09-2012 alle ore 22.19.11

  3. #3
    Guest

    Predefinito

    non ho ben capito, me lo potrebbe spiegare con un codice base? xD Grazie in anticipo per la possibilità.
    Per aggiornare il file già so come fare mi interesserebbe il reso :P xD Grazie ancora in anticipo.

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,691

    Predefinito

    Non ho capito benissimo cosa vuoi fare.

    Se vuoi eliminare le righe differenti:
    Codice PHP:
    $testo = file('testo.txt',FILE_IGNORE_NEW_LINES);
    $testos = file('testos.txt',FILE_IGNORE_NEW_LINES);
    foreach(
    $testo as $num_linea=>$linea)
    {
    if(
    $linea == $testos[$num_linea]) //se le righe dei due file son uguali, salvo la riga
    $testo_nuovo .= $linea;
    }
    file_put_contents('testo.txt',$linea); //sovrascrivo il file
    Se invece vuoi la linea data una parola, ($da_cercare), e scrivere le linee che contengono quella parola in un vettore ($trovati[]):

    Codice PHP:
    $trovati = array();
    $testo = file('testo.txt');
    foreach(
    $testo as $num_linea => $linea)
    if(
    strpos($linea,$da_cercare) !== FALSE) //se c'é la parola, salvo la linea
    $trovati[] = $num_linea;

    Ciao!
    Ultima modifica di alemoppo : 24-09-2012 alle ore 22.35.44

  5. #5
    Guest

    Predefinito

    No xD, Vorrei che dalla parola mi trovasse il numero della riga
    Esempio se il file ha 100 righe e la parola cane si trova alla sesta riga mi dovrebbe restituire 6 xD Non so mi sono spiegato?

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,691

    Predefinito

    Il secondo script mette tutti i numeri in un vettore. Se vuoi soltanto la prima occorrenza, invece di un vettore puoi usare una variabile e salvarla in una variabile.

    Ciao!

  7. #7
    Guest

    Predefinito

    Si ho capito, Ma testando il tuo codice non mi da il numero sei ma la riga xD io vorrei che mi dasse propio il numero della riga XD Grazie in anticipo =) . Quindi nell'esempio che ti ho detto prima sarebbe 6 E non l'interno della riga sei io vorrei propio che uscisse il numero 6 xD.
    Ultima modifica di pokemonlab : 24-09-2012 alle ore 22.53.58

  8. #8
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,691

    Predefinito

    Ho provato lo script, e fa quello che dici. (le righe partono da 0).
    Vedi qui: http://alemoppo.altervista.org/LABS/...a_cercare=cane
    Il file, è questo.

    Ciao!
    Ultima modifica di alemoppo : 24-09-2012 alle ore 23.16.01

  9. #9
    Guest

    Predefinito

    mi potresti dire come lo hai provato? xD
    Se mi passi il codice che hai messo nel tuo sito forse capisco dove sbaglio xD


    Edit: xD Avevo sbagliato a copiare un codice D: Grazie mille :)
    Ultima modifica di pokemonlab : 24-09-2012 alle ore 23.18.59

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •