Visualizzazione risultati 1 fino 8 di 8

Discussione: ricerca di una parola all'interno di un file di testo

  1. #1
    Guest

    Predefinito ricerca di una parola all'interno di un file di testo

    ragazzi, se ho un file ( prova.txt) con dentro del codice, non importa di che tipo, e volessi una funzione che mi permetta di cercare all'interno del file ( o della variabile se lo includo in una) tutte le parole che corrispondono ad una parola scelta, e che mi posizioni il puntatore all'inizio della parola, come posso fare? Grazie!!

  2. #2
    Guest

    Predefinito

    non puoi posizionare nessun puntatore ma estrarre i dati.
    Utilizzando le regex oppure while+feof+fgets
    Ultima modifica di darksnake1992 : 10-03-2009 alle ore 18.16.57

  3. #3
    Guest

    Predefinito

    cosa? hai degli articoli? :D grazie!!!

  4. #4
    Guest

    Predefinito

    Non credo ce ne siano, anche perchè il tutto dipende da come salvi i dati nel tuo file e da come li vuoi estrarre... se ciò che devi estrarre sono variabili allora consiglio le regex+preg_match+foreach+fopen.
    Altrimenti fgets.

  5. #5
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Così è molto più semplice:
    1) estrai il contenuto del file di testo con file_get_contents()
    2) usi la funzione preg_match() o preg_match_all() per trovare la prima o tutte le occorrenze della tua parola. Usa la RegExp dell'esempio #2 di preg_match()...

    Statemi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  6. #6
    Guest

    Predefinito

    Codice PHP:
    $fCont = file_get_contents("ciaociao.txt");
    $toSrc = "stringa da cercare";

    $posizione = strpos($fCont, $toSrc);

    if (
    $posizione === false):
    // non trovato..
    else:
    // trovato in posizione {$posizione}..
    // d'ora in poi, per qualunque cosa tu debba fare, usi come posizione di partenza proprio $posizione..
    endif;

  7. #7
    Guest

    Predefinito

    e nel caso ci fossero più volte la stessa parola, prende solo la prima che trova?

  8. #8
    Guest

    Predefinito

    nel mio codice, sì.. era questo che volevi, no?

    [edit] se vuoi trovare anche la seconda, la terza, .. occorrenza fai così:
    Codice PHP:
    $fCont = file_get_contents("ciaociao.txt");
    $toSrc = "stringa da cercare";

    $posizioni = array(); // questo array conterrà tutte le posizioni trovate..

    do
    {
    $pos = strpos($fCont, $toSrc, (count($posizioni) > 0) ? ($posizioni[count($posizioni)] + 1) : 0); // questo cerca la sottostringa $toSrc nella stringa $fCont a partire dalla posizione successiva all'ultima trovata..
    if ($pos !== false)
    $posizioni[] = $pos; // se ha trovato qualcosa lo mette nell'array..
    } while ($posizione !== false);

    print_r($posizioni); // stampa l'array a video.. qui chiaramente modifichi come ti pare..
    spero che funzioni..!
    Ultima modifica di tryphpnuke : 12-03-2009 alle ore 17.12.05

Regole di scrittura

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