<?php function get_news ($content, $start_template, $finish_template) {
$start_pos = strpos ($content, $start_template); $sub_content = substr ($content, $start_pos, strlen ($content)); $finish_pos = strpos ($sub_content, $finish_template) + strlen ($finish_template);
return substr ($content, $start_pos, $finish_pos);
} $url = "http://www.lyricstime.com/dragon-heart-the-blacksmith-tradu-o-lyrics.html"; $agent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko/20050919 Firefox/1.0.7" ; $header [] = "Accept: text/html;q=0.9, text/plain;q=0.8, image/png, */*;q=0.5" ; $header [] = "Accept_charset: windows-1251, utf-8, utf-16;q=0.6, *;q=0.1"; $header [] = "Accept_encoding: identity"; $header [] = "Accept_language: en-us,en;q=0.5"; $header [] = "Connection: close"; $header [] = "Cache-Control: no-store, no-cache, must-revalidate"; $header [] = "Keep_alive: 300"; $header [] = "Expires: Thu, 01 Jan 1970 00:00:01 GMT";
$ch = curl_init ( $url ); // CURL будет возвращать результат, а не выводить его в печать @curl_setopt ( $ch , CURLOPT_RETURNTRANSFER , 1 ); // выводим подробные сообщения о всех действиях @curl_setopt ( $ch , CURLOPT_VERBOSE , 1 ); // считываем страничку с хедером от сервера @curl_setopt ( $ch , CURLOPT_HEADER , 1 ); // отправим серверу user_agent сформированный нами самими @curl_setopt ( $ch , CURLOPT_USERAGENT , $agent ); // оправляем $referer, что пришли с первой страницы сайта @curl_setopt ( $ch , CURLOPT_REFERER , $referer ); // оправляем на сервер хедер, который мы сами сформировали @curl_setopt ( $ch , CURLOPT_HTTPHEADER , $header ); // при получении HTTP заголовка "Location: " будет // происходить перенаправление @curl_setopt ( $ch , CURLOPT_FOLLOWLOCATION , 1 ); // запретить проверку сертификата удаленного сервера @curl_setopt ( $ch , CURLOPT_SSL_VERIFYPEER, 0 ); // не будем проверять существование имени @curl_setopt ( $ch , CURLOPT_SSL_VERIFYHOST, 0 ); // если есть массив с cookie, то отправим серверу, эти cookie if ( @is_array ($arr_cookie)){ while (list($key, $val) = @each ($arr_cookie)){ $COKKIES .= trim ($val[0])."=". trim ($val[1])."; "; } @curl_setopt ( $ch , CURLOPT_COOKIE , $COKKIES." expires=Mon, 14-Apr-08 10:34:13 GMT" ); } // если с сервера пришло cookie, то запишем его в файл $cookie_file @curl_setopt ( $ch , CURLOPT_COOKIEJAR , $cookie_file ); @curl_setopt ( $ch , CURLOPT_COOKIEFILE , $cookie_file ); // если мы послали данные из формы, которая стоит // на страничке $path, добавляем метод $_POST if (isset($_POST) and $_SERVER["REQUEST_METHOD"]=="POST"){ @curl_setopt ( $ch , CURLOPT_POST , 1 ); @curl_setopt ( $ch , CURLOPT_POSTFIELDS , substr ( data_encode ( $_POST ), 0 , - 1 ) ); } // получаем страничку $path с хедером $tmp = @curl_exec ( $ch ); // закрываем сеанс Curl curl_close ( $ch );
$ttmp=get_news($tmp,"<title>","</title>"); $title=get_news($ttmp," - ","</title>"); echo iconv("ISO-8859-1", "WINDOWS-1251", $title);
|