salve a tutti, avrei bisogno di un aiuto su questa funzione ricorsiva:
Codice PHP:
$se_info['current_t'] = 0;
function search_here($page){
global $se_info;
if(preg_match("#<table.*?class=\"main_content\">.*?</table>#i", $page, $array))
preg_match_all("#<td class=t><b title=\"(.*?)\"><a.*?\?t=(\d*).*?>#i", $array[0], $trk);
$glob = array_create($trk);// questa funzione riordina l'array impostando gli indici con valore progressivo a $se_info['current_t']
$se_info['current_t'] += count($trk[0]); // imposta gli indici in array_create() per la funzione ricorsiva
if(($se_info['current_t'] < $se_info['t']) && ($se_info['current_t_page'] < $se_info['pages'])){//$se_info['t'] è estratto da un'altra funzione e rappresenta il numero totale di records, $se_info['pages'] è estratto da un'altra funzione e rappresenta il numero totale di pagine presenti
++$se_info['current_t_page'];
$search_query = array("page" => array("st" => "search_editbox"));
$page = back_to_basic($search_query, $se_info['current_t_page']);// mediante curl prendo il codice sorgente della pagina successiva se presente o neccessaria
search_here($page);// ricorsione
}
//return;
}
mi restituisce l'errore "Undefined variable: trk ... on line 56 ( la riga $glob = array_create($trk); ),
anche con un semplice count($trk); restituisce l'errore
ovviamente l'errore è dato al momento della ricorsione (ossia il primo set di risultati me li processa correttamente, il secondo no)
da cosa può dipendere?
p.s.: l'espressione regolare non è corretta in quanto il tag PHP mi toglie alcuni slash