PDA

Просмотр полной версии : Помощь с регуляркой.....


LegenDOS
25.02.2009, 21:35
Люди помогите пожалуйста... Задание таково необходимо подсоидениться сокетом к сайту и проверить тег title

Тоесть к примеру есть переменная $a = "Zagolovok";
И если тег титле этого сайта равен $a, то к примеру $b=1;


тоесть if($title == $a) $b=1;
Мне необходимо в переменную $title запихнуть заголовок сайта....
Буду очень благодарен тому кто поможет!

Chaak
25.02.2009, 21:40
<?php
$site = file_get_contents('http://mail.ru');
$zagolovok = 'asd';
$b = 0;

preg_match('#<title>(.*?)</title>#i', $site, $title);
$title = $title['1'];


if($title == $zagolovok)
$b = 1;

LegenDOS
25.02.2009, 21:50
спасибо.....

LegenDOS
25.02.2009, 23:56
<?php
$site = file_get_contents('http://mail.ru');
$zagolovok = 'asd';
$b = 0;

preg_match('#<title>(.*?)</title>#i', $site, $title);
$title = $title['1'];


if($title == $zagolovok)
$b = 1;
?>


Люди, помогите... Может чего туплю, но после
$site = file_get_contents('http://mail.ru');

Нехрена неработает, выводит чистый лист, как будто нет ошибок... Но не одна функция дальше неработает..... Даже echo

Может чего нехватает?

Pashkela
26.02.2009, 01:19
<?php
function get($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208');
$ss=curl_exec($ch);
curl_close($ch);
return $ss;
}

$zagolovok = 'asd';
$b = 0;

$a=get('http://mail.ru');


preg_match('#<title>(.*?)</title>#i', $a, $title);
$title = $title['1'];


if($title == $zagolovok)
$b = 1;
?>

b3
26.02.2009, 01:43
<?php
$site = file_get_contents('http://forum.antichat.ru/');
$zagolovok = 'Форум АНТИЧАТ - безопасность WEB - интерфейсов';
$b = 0;

preg_match('#<title>(.*?)</title>#i', $site, $title);

if($title[1] == $zagolovok)
$b = 1;
echo $b.'<br>'.$title[1].'<br>'.$zagolovok;

?>

Chaak
26.02.2009, 03:08
php5?
возможно allow_url_include = Off и ворненги отключены.

Юзай сокеты/курл

AkyHa_MaTaTa
26.02.2009, 04:51
Вот на сокетах пример:

<?php
$url="forum.antichat.ru";
$uri="index.php";
$match='Форум АНТИЧАТ - безопасность WEB - интерфейсов';

$fp = fsockopen("$url", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET /$uri HTTP/1.1\r\n";
$out .= "Host: $url\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
preg_match('#<title>(.*?)</title>#imU', fgets($fp, 128), $title);
if(!empty($title[1])) break;
}
fclose($fp);
}
$title=isset($title[1]) && @trim($title[1])==$match ? $match : null;
$b=$match !== null ? 1 : 0;
echo "Заголовок '$title' переменная b=$b";
?>

LegenDOS
26.02.2009, 18:16
Всем большое спасибо! =)