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
![]()
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
![]()
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
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![]()
figurati se posso aiutarti sono a disposizione!
ciao
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.
che nel mio esempio produce questo outputCodice 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("&choice=(.+)&pref", $lines[$b], $choice);
eregi("settore=(.+)&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";
}
?>
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