Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892

    ricerca in stringa e conteggio parole

    Dunque, il problema è questo:

    io ho una stringa moooooooolto lunga (di lunghezza variabile, è il risultato della lettura di un file rtf). Devo ricercare all'interno una sottostringa (chiave di ricerca).

    Fin qui nessun problema:

    codice:
    $stringaricerca="pippo";
    
    $filename = "miofile.rtf";
    $handle = fopen($filename, "r");
    $contents = fread($handle, filesize($filename));
    fclose($handle);
    if (preg_match("/$stringaricerca/i", "$contents")) {
    
    // qui il codice se la ricerca ha buon esito
    
    }
    Adesso ho la necessità di verificare se , A DISTANZA DI 50 PAROLE (parole, non lettere...) dalla parola trovata, è presente un'altra parola inserita in un'altra variabile, in pratica così:

    codice:
    $stringaricerca="pippo";
    $secondaparola="pluto";
    
    
    $filename = "miofile.rtf";
    $handle = fopen($filename, "r");
    $contents = fread($handle, filesize($filename));
    fclose($handle);
    if (preg_match("/$stringaricerca/i", "$contents")) {
    
    // qui in pratica dovrei partire a ricercare "pluto", 50 parole prima o dopo pippo
    
    }
    Non riesco a risolvere il problema...

    :master:

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892
    nessuno?

  3. #3
    Utente di HTML.it L'avatar di echoweb
    Registrato dal
    Sep 2008
    Messaggi
    419
    eccomi...

    Codice PHP:
    <?php

    $stringaricerca 
    "pippo";
    $secondaparola="pluto";

    $righe file('miofile.rtf');

    $cont=0;

    foreach (
    $righe as $riga
    {
        
    $result explode(' '$riga);
        
    $num_elementi count ($result);
        
        while(
    $cont<$num_elementi)
        {
            
    $app_cont=$cont+1;
            if(
    $result[$cont]==$stringaricerca)
            {
                echo 
    "
    Trovato in posizione: 
    $app_cont";
                
                echo 
    "
    In posizione 50 il valore vale: "
    .$result[49];
                
                exit();
            }
            
    $cont++;
                
        }
    }

    ?>
    prova così...


    "Non soffocare la tua ispirazione e la tua immaginazione,
    non diventare lo schiavo del tuo modello"

    Vincent van Gogh

  4. #4
    Utente di HTML.it L'avatar di echoweb
    Registrato dal
    Sep 2008
    Messaggi
    419
    asp ho dimenticato un pezzo...

    Codice PHP:
    <?php

    $stringaricerca 
    "pippo";
    $secondaparola="pluto";

    $righe file('miofile.rtf');

    $cont=0;

    foreach (
    $righe as $riga)
    {
        
    $result explode(' '$riga);
        
    $num_elementi count ($result);
        
        while(
    $cont<$num_elementi)
        {
            
    $app_cont=$cont+1;
            if(
    $result[$cont]==$stringaricerca)
            {
                
    $cont $cont 50
                
    echo "
    $stringaricerca si trova in posizione: $app_cont";

                if(
    $secondaparola==$result[$cont])
                {
                    echo 
    "$secondaparola si trova dopo 50 parole da $stringaricerca";
                }
                else
                {
                    echo 
    "$secondaparola non si trova dopo 50 parole da $stringaricerca";
                }
                exit();
            }
            
    $cont++;
        }
    }

    ?>
    Avevo dimenticato $cont = $cont + 50 per puntare al 50 elemento dopo quello trovato, e la ricerca della seconda stringa.


    "Non soffocare la tua ispirazione e la tua immaginazione,
    non diventare lo schiavo del tuo modello"

    Vincent van Gogh

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892
    Ti ringrazio, ma il mio problema non è trovare la 50ma parola dopo la prima, bensì cercare la seconda parola ENTRO 50 PAROLE dalla prima. Quindi anche se arriva dopo 4 parole va bene

  6. #6
    Utente di HTML.it L'avatar di echoweb
    Registrato dal
    Sep 2008
    Messaggi
    419
    ok. ecco lo script modificato.

    Codice PHP:
    <?php

    $stringaricerca 
    "pippo";
    $secondaparola="pluto";

    $righe file('miofile.rtf');

    $cont=0;

    foreach (
    $righe as $riga)
    {
        
    $result explode(' '$riga);
        
    $num_elementi count ($result);
        
        while(
    $cont<$num_elementi)
        {
            
    $app_cont=$cont+1;
            if(
    $result[$cont]==$stringaricerca)
            {
                echo 
    "
    $stringaricerca si trova in posizione: $app_cont";
                
                
    $num_elementi=50+$cont+1;
                while(
    $cont<$num_elementi)
                {
                
                    
    $app_cont=$cont+1;
                    if(
    $result[$cont]==$secondaparola)
                    {
                        echo 
    "
    $secondaparola si trova in posizione: $app_cont";
                        exit();
                    }
                    
    $cont++;
                
                
                }
                
                
                
                
                exit();
            }
            
    $cont++;
        }
    }

    ?>


    "Non soffocare la tua ispirazione e la tua immaginazione,
    non diventare lo schiavo del tuo modello"

    Vincent van Gogh

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.