PHP get_meta_tags获取网页标题title 描述description 关键字keywords等meta信息

网站建设小技巧 2019-09-12 14:43:36 评论

PHP内置的get_meta_tags函数可以用于获取网页的标题(title)、描述(description)、关键字(keywords)等meta信息

使用方法如下:

$meta_array = get_meta_tags('https://www.huaian.cn');
var_dump($meta_array);

 

输出

array(4) {
  ["viewport"]=>
  string(56) "width=device-width, initial-scale=1.0, maximum-scale=1.0"
  ["applicable-device"]=>
  string(9) "pc,mobile"
  ["description"]=>
  string(253) "淮安SEO介绍"
  ["keywords"]=>
  string(213) "淮安SEO关键词"
}

get_meta_tags 默认是 utf-8 编码,如果遇到 gbk、gb2312编码,则会出现乱码,

例如,爬取www.qq.com,因为编码是 gb2312 所有出现了乱码:

$meta_array = get_meta_tags('http://www.qq.com');
var_dump($meta_array);



运行结果:    

array (size=3)
  'baidu-site-verification' => string 'cNitg6enc2' (length=10)
  'keywords' => string '???,????,???,????,???,NBA,???,?????,???,QQ,Tencent' (length=56)
  'description' => string '???????2003??????????????????????????????????????????????????????????????????????????????????????????????????????????????е?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????' (length=314)



解决乱码,这里介绍两个方法

方法1:加上 header 头编码,正确代码格式如下:
    

header("content-type:text/html; charset=gb2312"); 
$meta_array = get_meta_tags('http://www.qq.com');
var_dump($meta_array);



方法2:通用的编码解决方案,让你的浏览器自适应:
  

header("content-type:text/html; charset=xxx"); 
$meta_array = get_meta_tags('http://www.qq.com');
var_dump($meta_array);



注意:charset=xxx 表示让浏览器自动适配正确的网页编码,这样就不会造成显示乱码

评论

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!