Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
примерно такЧем?
То есть на входе - допустим 1К урлов с различных сайтов, нужно собрать их тайтлы, то есть то, что находится <title>вот тут</title>
<?php
define('LOWERCASE',3);
define('UPPERCASE',1);
function detect_cyr_charset($str) {
$charsets = Array(
'k' => 0,
'w' => 0,
'd' => 0,
'i' => 0,
'm' => 0
);
for ( $i = 0, $length = strlen($str); $i < $length; $i++ ) {
$char = ord($str[$i]);
//non-russian characters
if ($char < 128 || $char > 256) continue;
//CP866
if (($char > 159 && $char < 176) || ($char > 223 && $char < 242))
$charsets['cp866']+=LOWERCASE;
if (($char > 127 && $char < 160)) $charsets['cp866']+=UPPERCASE;
//KOI8-R
if (($char > 191 && $char < 223)) $charsets['Koi8-R']+=LOWERCASE;
if (($char > 222 && $char < 256)) $charsets['Koi8-R']+=UPPERCASE;
//WIN-1251
if ($char > 223 && $char < 256) $charsets['Win-1251']+=LOWERCASE;
if ($char > 191 && $char < 224) $charsets['Win-1251']+=UPPERCASE;
//MAC
if ($char > 221 && $char < 255) $charsets['Mac']+=LOWERCASE;
if ($char > 127 && $char < 160) $charsets['Mac']+=UPPERCASE;
//ISO-8859-5
if ($char > 207 && $char < 240) $charsets['UTF-8']+=LOWERCASE;
if ($char > 175 && $char < 208) $charsets['UTF-8']+=UPPERCASE;
}
arsort($charsets);
return key($charsets);
}
function Win2UTF8($string)
{
$len = strlen($string);
$c208 = chr(208);
$c209 = chr(209);
for ($i = 0; $i < $len; $i++)
{
if ($string[$i] != "\n") {
$c = ord($string[$i]);
if ($c <= 127) $t .= chr($c);
elseif ($c >= 192 && $c <= 207) $t .= $c208.chr($c - 48);
elseif ($c >= 208 && $c <= 239) $t .= $c208.chr($c - 48);
elseif ($c >= 240 && $c <= 255) $t .= $c209.chr($c - 112);
elseif ($c == 184) $t .= $c209.chr(145); // ё
elseif ($c == 168) $t .= $c208.chr(129); // Ё
else $t .= chr($c);
}
else $t .= "";
}
return $t;
}
function ip_valid_1($val='')
{
$d = explode('.',$val);
for ($x=0; $x<4; $x++) if (!is_numeric($d[$x])) return false;
return true;
}
function defconvert_win2utf($string)
{
if (detect_cyr_charset($string) == 'Win-1251')
{
// Function for conver Windows (CP1251) to UTF-8
return Win2UTF8($string);
}
else
{
return $string;
}
}
function get_web_page( $url )
{
$uagent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8";
$ch = curl_init( $url );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // возвращает веб-страницу
curl_setopt($ch, CURLOPT_REFERER,"http://google.com");
curl_setopt($ch, CURLOPT_HEADER, 0); // не возвращает заголовки
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // переходит по редиректам
curl_setopt($ch, CURLOPT_ENCODING, ""); // обрабатывает все кодировки
curl_setopt($ch, CURLOPT_USERAGENT, $uagent); // useragent
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120); // таймаут соединения
curl_setopt($ch, CURLOPT_TIMEOUT, 120); // таймаут ответа
curl_setopt($ch, CURLOPT_MAXREDIRS, 10); // останавливаться после 10-ого редиректа
$content = curl_exec( $ch );
$err = curl_errno( $ch );
$errmsg = curl_error( $ch );
$header = curl_getinfo( $ch );
curl_close( $ch );
$header['errno'] = $err;
$header['errmsg'] = $errmsg;
$header['content'] = $content;
return $header;
}
$file=file("urls.txt");
$fp=fopen("title.txt","w");
$count_str=count($file);
for ($i=0;$i<$count_str;$i++){
$result=get_web_page( $file[$i] );
//print_r($result);
$content = $result['content'];
preg_match('/<title>(.*?)<\/title>/si',$content,$xtitle);
$title=iconv('utf-8','windows-1251',defconvert_win2utf(htmlspecialchars($xtitle[1])));
$title_url = $title.";".trim($file[$i]);
fwrite($fp,$title_url."\n");
}
fclose($fp);
?>