get_meta_tags — 从一个文件中提取所有的 meta 标签 content 属性,返回一个数组
描述
array get_meta_tags ( string filename [, int use_include_path])
打开 filename 逐行解析文件中的 <meta> 标签。此参数可以是本地文件也可以是一个 URL。解析工作将在 </head> 处停止。
将 use_include_path 设置为 1 将促使 PHP 尝试按照 include_path 标准包含路径中的每个指向去打开文件。这只用于本地文件,不适用于 URL。
本文实例分析了php中get_meta_tags()、CURL与user-agent用法。分享给大家供大家参考。具体分析如下:
get_meta_tags()函数用于抓取网页中<meta name=”A” content=”1″><meta name=”B” content=”2″>形式的标签,并装入一维数组,name为元素下标,content为元素值,上例中的标签可以获得数组:array(‘A’=>’1’, ‘b’=>’2’),其他<meta>标签不处理,并且此函数只处理到</head>标签时截止,之后的<meta>也不再继续处理,不过<head>之前的<meta>还是会处理.
user-agent是浏览器在向服务器请求网页时,提交的不可见的头信息的一部分,头信息是一个数组,包含多个信息,比如本地缓存目录,cookies等,其中user-agent是浏览器类型申明,比如IE、Chrome、FF等.
今天在抓取一个网页的<meta>标签的时候,总是得到空值,但是直接查看网页源代码又是正常的,于是怀疑是否服务器设置了根据头信息来判断输出,先尝试使用get_meta_tags()来抓取一个本地的文件,然后这个本地文件将获取的头信息写入文件,结果如下,其中替换成了/,方便查看,代码如下:
array ( 'HTTP_HOST' => '192.168.30.205', 'PATH' => 'C:/Program Files/Common Files/NetSarang;C:/Program Files/NVIDIA Corporation/PhysX/Common;C:/Program Files/Common Files/Microsoft Shared/Windows Live;C:/Program Files/Intel/iCLS Client/;C:/Windows/system32;C:/Windows;C:/Windows/System32/Wbem;C:/Windows/System32/WindowsPowerShell/v1.0/;C:/Program Files/Intel/Intel(R) Management Engine Components/DAL;C:/Program Files/Intel/Intel(R) Management Engine Components/IPT;C:/Program Files/Intel/OpenCL SDK/2.0/bin/x86;C:/Program Files/Common Files/Thunder Network/KanKan/Codecs;C:/Program Files/QuickTime Alternative/QTSystem;C:/Program Files/Windows Live/Shared;C:/Program Files/QuickTime Alternative/QTSystem/; %JAVA_HOME%/bin;%JAVA_HOME%/jre/bin;', 'SystemRoot' => 'C:/Windows', 'COMSPEC' => 'C:/Windows/system32/cmd.exe', 'PATHEXT' => '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'WINDIR' => 'C:/Windows', 'SERVER_SIGNATURE' => '', 'SERVER_SOFTWARE' => 'Apache/2.2.11 (Win32) PHP/5.2.8', 'SERVER_NAME' => '192.168.30.205', 'SERVER_ADDR' => '192.168.30.205', 'SERVER_PORT' => '80', 'REMOTE_ADDR' => '192.168.30.205', 'DOCUMENT_ROOT' => 'E:/wamp/www', 'SERVER_ADMIN' => 'admin@admin.com', 'SCRIPT_FILENAME' => 'E:/wamp/www/user-agent.php', 'REMOTE_PORT' => '59479', 'GATEWAY_INTERFACE' => 'CGI/1.1', 'SERVER_PROTOCOL' => 'HTTP/1.0', 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => '', 'REQUEST_URI' => '/user-agent.php', 'SCRIPT_NAME' => '/user-agent.php', 'PHP_SELF' => '/user-agent.php', 'REQUEST_TIME' => 1400747529, )
评论前必须登录!
注册