Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 15 su 15
  1. #11
    Grazie LuigiMem sto vedendo la pagina che mi hai indicato ed i risultati ci sono
    non capisco perchè da me non si vedono.
    E' ikmportante che tu riesca ad avere dei risultati positivi. Pian piano ci riuscirò anch'io.
    Ci risentiremo stasera con calma


  2. #12
    Ciao cosi spero ti funzioni ho ridotto il tutto ad unico ciclo
    ho messo delle "pezzette" ma il risultato dovrebbe andare bene:

    <?php
    $lines = file("menu.php");
    $totaline = count($lines)-2;

    for($b=4; $b < $totaline; $b++) {

    $filename_find = eregi("href=(.+)?settore", $lines[$b], $filename);
    $pref_find = eregi("pref=(.+)\">", $lines[$b], $pref);
    $choice_find = eregi("&choice=(.+)&pref", $lines[$b], $choice);
    $settore_find = eregi("settore=(.+)&choice", $lines[$b], $settore);

    echo "<span class=\"brown\">Per " . substr($filename[1],2,-1). "</span>
    \n";
    echo "Pref: " . substr($pref[1],0,-1) . "
    ";
    echo "
    Title: " . title(substr($filename[1],2,-1)) . "
    \n";
    echo "choice: " . $choice[1] . "
    ";
    echo "settore: " . $settore[1] . "

    ";

    }

    function title($url){
    echo $url;
    $dom = new domdocument;
    $dom->loadHTMLFile($url);
    return $dom->getElementsByTagName("title")->item(0)->textContent;
    }

    ?>

    IMPORTANTE:
    il ciclo lo fatto cominciare da 4 perchè quando ciclo $line
    i primi indici non corrispondono ai[*] quindi non trova i risultati!!
    quindi ho dovuto "prendere" in considerazione solo la porzione dove iniziano
    e finiscono i "[*]" per questo il -2

    questa è la mia pagina di prova, considera che i titoli sono presenti solo i primi 2
    in quanto ho creato per prova solo le 2 pagine. ciao

    http://luigisentina.com/testmenu.php

    fammi sapere se per te è ok
    ciao

  3. #13
    Ciao LuigiMem
    scusami se ti ho fatto lavorare così tanto.
    Ho aggiornato il file che è online e finalmente vedo che il famigerato pref è uscito fuori, però mi sono scomparsi gli altri due. Ma questo non è un problema perchè in una prova eseguita prima sempre col tuo aiuto mi erano usciti fuori.
    Come vedi non ho buttato i vecchi codici quindi vedrò di riprendere qualche vecchio frammento del vecchio codice che mi dava il risultato.
    Per i cicli e la ridondanza dei dati non è un problema perchè so come interrompere il ciclo una volta trovato il prefisso.
    Direi che ora grazie ai tuoi aiuti ho ottenuto ciò che volevo.
    Il differente comportamento tra la mia pagina e la tua molto probabilmente è legata alla versione PHP dei nostri siti. D'altra parte vedo qualche differenza tra il mio locale ed il sito. Perciò una volta capita la differenza ora penso di poter andare avanti.

    Questi giorni la mia pagina linkata qui nel forum sarà sempre aggiornata quindi se sarò ancora in difficoltà farò un fischio

    Grazie di nuovo per il tuo impegno

  4. #14
    figurati se posso aiutarti sono a disposizione!
    ciao

  5. #15
    Per completezza e correttezza, poichè la pagina da me linkata per mostrare il codice che via via veniva creato tra breve passerà a pagina privata quindi non più accessibile, penso di poter postare il codice finale da me adottato perchè ne resti traccia.
    Codice PHP:
     <?php
    function title($url){
    echo 
    $url;
    $dom = new domdocument;
    $dom->loadHTMLFile($url);
    return 
    $dom->getElementsByTagName("title")->item(0)->textContent;
    }
    $lines file("menu.php");
    $totaline count($lines)-2;
    $elenco_files glob('???_*.php');
    $pattern_pref "(pref=(.*?)>)";
    $pattern_choice "(choice=(.*?)>)";
    $pattern_settore "(settore=(.*?)>)";
    $pattern_title "(<title>(.*?)</title>)";
    echo 
    "Files da esaminare: " count ($elenco_files) . "
    \n"
    ;
    for (
    $i 0$i count ($elenco_files); $i++) {
        
    $parts explode('_'$elenco_files[$i], 2);
        
    $file_pref $parts[0];
        
    $filename $elenco_files[$i];
        
    $current file_get_contents($filename);    
        
    preg_match($pattern_title$current$result_4);
        
    $title_find $result_4[1];
        for(
    $b=4$b $totaline$b++) {
            
    eregi("pref=(.+)\">"$lines[$b], $pref);
    //        echo htmlentities($lines[$b]) . "
    \n";
    //        echo 
    $pref[1] . "
    \n";
            if (substr(
    $pref[1],0,-1) == $file_pref) {            
                eregi("
    &amp;choice=(.+)&amp;pref", $lines[$b]$choice);
                eregi("
    settore=(.+)&amp;choice", $lines[$b]$settore);
                
    $cur_link = htmlentities($lines[$b]);
                echo "
    <span class=\"brown\">" $i ") Per " $filename "</span>
    \n"
    ;
                echo 
    "<span class=\"rosso_b\">Pref: " substr($pref[1],0,-1) . "</span>
    "
    ;
                echo 
    "settore: " $settore[1] . "
    \n"
    ;
                echo 
    "choice: " $choice[1] . "
    \n"
    ;
                echo 
    "Title: " $title_find "
    \n"
    ;
                break;
            }            
        }
        echo 
    "<hr />\n";
    }
    ?>
    che nel mio esempio produce questo output
    codice:
    Files da esaminare: 41
    0) Per cic_for_ciclo.php
    Pref: cic
    settore: lab_php
    choice: cicli
    Title: Il ciclo For
    1) Per cic_foreach_ciclo.php
    Pref: cic
    settore: lab_php
    choice: cicli
    Title: Il ciclo Foreach
    2) Per cic_while_ciclo.php
    Pref: cic
    settore: lab_php
    choice: cicli
    Title: Il ciclo While
    .....................
    seguono altre righe

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.