PHP自动获取网站的meta信息,包括:title,keywords,description

  • PHP二次开发网
  • 2013-7-15 13:22
  • PHP二次开发网
  • 阅读(4999)
  • 评论(1
  • 摘要: PHP自动获取网站的meta信息,包括:title,keywords,description

    [代码]php代码:

    $site = "http://www.php2.cc";
    $content = get_sitemeta($site);
    print_r($content);
    
    
    /** 获取META信息 */
    function get_sitemeta($url) {
        
         $data = file_get_contents($url);
             
         $meta = array();
         if (!empty($data)) {
              #Title
              preg_match('/<TITLE>([\w\W]*?)<\/TITLE>/si', $data, $matches);
              if (!empty($matches[1])) {
                   $meta['title'] = $matches[1];
              }
             
              #Keywords
              preg_match('/<META\s+name="keywords"\s+content="([\w\W]*?)"/si', $data, $matches);         
              if (empty($matches[1])) {
                   preg_match("/<META\s+name='keywords'\s+content='([\w\W]*?)'/si", $data, $matches);              
              }
              if (empty($matches[1])) {
                   preg_match('/<META\s+content="([\w\W]*?)"\s+name="keywords"/si', $data, $matches);              
              }
              if (empty($matches[1])) {
                   preg_match('/<META\s+http-equiv="keywords"\s+content="([\w\W]*?)"/si', $data, $matches);              
              }
              if (!empty($matches[1])) {
                   $meta['keywords'] = $matches[1];
              }
             
              #Description
              preg_match('/<META\s+name="description"\s+content="([\w\W]*?)"/si', $data, $matches);         
              if (empty($matches[1])) {
                   preg_match("/<META\s+name='description'\s+content='([\w\W]*?)'/si", $data, $matches);              
              }
              if (empty($matches[1])) {
                   preg_match('/<META\s+content="([\w\W]*?)"\s+name="description"/si', $data, $matches);                        
              }
              if (empty($matches[1])) {
                   preg_match('/<META\s+http-equiv="description"\s+content="([\w\W]*?)"/si', $data, $matches);              
              }
              if (!empty($matches[1])) {
                   $meta['description'] = $matches[1];
              }
         }
    
         return $meta;
    }


    获取到的是一个数组,可以根据自己的需要做输出。


    PHP技术交流QQ群:422137578

    除非注明,文章均为 PHP二次开发 原创,转载请注明本文地址:http://www.php2.cc/article-796-1.html

    相关阅读

    发表评论

    最新评论

    引用 米扑博客   2017-12-23 14:57
    厉害厉害,总结的真好

    查看全部评论(1)

    用户名:  *

    邮 箱:  *

    网 址: 注意加上“http://”哦!