У меня есть функция, которая должна возвращать массив.Но это не работает.Когда я пытаюсь print_r ничего не возвращается.Странно то, что если я помещаю print_r в функцию непосредственно перед возвратом, он возвращает массив правильно.Надеюсь, кто-то может помочь.Заранее благодарю за ваши ответы.Приветствия.Марк.
$url = "http://www.somesite.com";
$path ="somexpath";
$print = print_url_data($url, $path);
print_r($print);
function print_url_data($url, $path)
{
$content = get_url_data($url, $path);
foreach ($content as $value)
{
$output .= $value->nodeValue . "<br />";
}
return $output;
}
function get_url_data($url, $path)
{
$xml_content = get_url($url);
$dom = new DOMDocument();
@$dom->loadHTML($xml_content);
$xpath = new DomXPath($dom);
$content_title = $xpath->query($path);
$tableau = array();
foreach ($content_title as $node)
array_push($tableau, utf8_decode(urldecode($node->nodeValue)));
return $tableau; //What is being returned to the function call
}
function get_url($url)
{
$curl = curl_init();
// Setup headers - I used the same headers from Firefox version 2.0.0.6
// below was split up because php.net said the line was too long. :/
$header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
$header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
$header[] = "Cache-Control: max-age=0";
$header[] = "Connection: keep-alive";
$header[] = "Keep-Alive: 300";
$header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
$header[] = "Accept-Language: en-us,en;q=0.5";
$header[] = "Pragma: "; // browsers keep this blank.
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_USERAGENT, 'Googlebot/2.1 (+http://www.google.com/bot.html)');
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_REFERER, '[url=http://www.google.com]http://www.google.com[/url]');
curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
curl_setopt($curl, CURLOPT_AUTOREFERER, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
$html = curl_exec($curl); // execute the curl command
curl_close($curl); // close the connection
return $html; // and finally, return $html
}