Помощь с регуляркой.....

Discussion in 'PHP' started by LegenDOS, 25 Feb 2009.

  1. LegenDOS

    LegenDOS Banned

    Joined:
    1 Jan 2009
    Messages:
    9
    Likes Received:
    20
    Reputations:
    0
    Люди помогите пожалуйста... Задание таково необходимо подсоидениться сокетом к сайту и проверить тег title

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


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

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    PHP:
    <?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;
     
  3. LegenDOS

    LegenDOS Banned

    Joined:
    1 Jan 2009
    Messages:
    9
    Likes Received:
    20
    Reputations:
    0
    спасибо.....
     
  4. LegenDOS

    LegenDOS Banned

    Joined:
    1 Jan 2009
    Messages:
    9
    Likes Received:
    20
    Reputations:
    0
    Люди, помогите... Может чего туплю, но после
    $site = file_get_contents('http://mail.ru');

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

    Может чего нехватает?
     
    1 person likes this.
  5. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    PHP:
     <?php  
     
    function get($url
        { 
            
    $ch curl_init();   
            
    curl_setopt($chCURLOPT_URL,$url); 
            
    curl_setopt($chCURLOPT_RETURNTRANSFER,1); 
            
    curl_setopt($chCURLOPT_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;
    ?>
     
  6. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    PHP:
    <?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;
       
    ?>
     
  7. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    php5?
    возможно allow_url_include = Off и ворненги отключены.

    Юзай сокеты/курл
     
    #7 Chaak, 26 Feb 2009
    Last edited: 26 Feb 2009
    4 people like this.
  8. AkyHa_MaTaTa

    AkyHa_MaTaTa Elder - Старейшина

    Joined:
    19 Mar 2007
    Messages:
    557
    Likes Received:
    306
    Reputations:
    27
    Вот на сокетах пример:
    PHP:
    <?php
    $url
    ="forum.antichat.ru";
    $uri="index.php";
    $match='Форум АНТИЧАТ - безопасность WEB - интерфейсов';

    $fp fsockopen("$url"80$errno$errstr30);
    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($fp128), $title);
            if(!empty(
    $title[1])) break;          
        }
        
    fclose($fp);
    }
    $title=isset($title[1]) && @trim($title[1])==$match $match null;
    $b=$match !== null 0;
    echo 
    "Заголовок '$title' переменная b=$b";
    ?>
     
    #8 AkyHa_MaTaTa, 26 Feb 2009
    Last edited: 26 Feb 2009
    1 person likes this.
  9. LegenDOS

    LegenDOS Banned

    Joined:
    1 Jan 2009
    Messages:
    9
    Likes Received:
    20
    Reputations:
    0
    Всем большое спасибо! =)