Forum

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

Visualizzazione risultati 1 fino 8 di 8

  1. 10-03-2009, 17.51.24

    #1
    geckostreaming
    geckostreaming non è connesso Utente
    Data registrazione
    26-10-2008
    Messaggi
    171

    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. 10-03-2009, 18.14.36

    #2
    darksnake1992
    darksnake1992 non è connesso Neofita
    Data registrazione
    09-03-2009
    Messaggi
    17
    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. 10-03-2009, 19.33.04

    #3
    geckostreaming
    geckostreaming non è connesso Utente
    Data registrazione
    26-10-2008
    Messaggi
    171
    cosa? hai degli articoli? :D grazie!!!

  4. 10-03-2009, 20.15.16

    #4
    darksnake1992
    darksnake1992 non è connesso Neofita
    Data registrazione
    09-03-2009
    Messaggi
    17
    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. 12-03-2009, 10.34.10

    #5
    L'avatar di dementialsite
    dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,056
    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. 12-03-2009, 16.23.34

    #6
    L'avatar di tryphpnuke
    tryphpnuke
    tryphpnuke non è connesso Altervistiano Junior
    Data registrazione
    17-09-2005
    Residenza
    Qui. Non mi vedi?
    Messaggi
    566
    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. 12-03-2009, 16.45.01

    #7
    geckostreaming
    geckostreaming non è connesso Utente
    Data registrazione
    26-10-2008
    Messaggi
    171
    e nel caso ci fossero più volte la stessa parola, prende solo la prima che trova?

  8. 12-03-2009, 17.03.46

    #8
    L'avatar di tryphpnuke
    tryphpnuke
    tryphpnuke non è connesso Altervistiano Junior
    Data registrazione
    17-09-2005
    Residenza
    Qui. Non mi vedi?
    Messaggi
    566
    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

Thread Information

Regole di scrittura

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

SEO by vBSEO