今天想获取某个网站的title。
一般网站的title都包含在整个网页的开头那部分里,所以感觉没必要非要请求完对方网站再通过正则获取。
一般网页500kb的内容,title基本上在1k的范围里(不排除有人在title前面追加一堆meta)
所以title标签之后的内容对我来说根本没啥用,没必要都读取出来再获取。
这时候我们就可以使用如下代码来获取
<?php $handle = fopen("http://www.sanshu.cn/", "rb"); if (FALSE === $handle) { exit("Failed to open stream to URL"); } $contents = ''; while (!feof($handle)) { $contents .= fread($handle, 8192); } fclose($handle); //对 $contents 进行正则解析的代码忽略。 ?>
这样我们就可以开启一个管道,在while里进行流的独取,如果读到适合的位置,比如发现了</title>
的结尾tagname我们就可以跳出循环,进行后面的解析了。
原创申明:本文章为三叔原创。