利用curl获取页面的meta中keywords和description

前面的文章《php正则获得网页的keywords和description部门》已经提到正则提取keywords和description了,此刻再先容利用curl的来提取meta中的keywords和description。相对get_meta_tags,cURL拿来收罗更为强大。
下面cURL拿来收罗meta ,php函数:

<?php /** * 利用cURL获取一个网页中的 keyword 和 description 部门 * * @param str $ 查询的url地点 * @return array array('keyword'=>keyword部门,'description'=>description部门) */ function curl_getkd($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $html = curl_exec($ch); $info = curl_getinfo($ch); if ($html === false) { echo "cURL Error: " . curl_error($ch); } curl_close($ch); preg_match_all("/<meta[^>]+name=\"([^\"]*)\"[^>]" . "+content=\"([^\"]*)\"[^>]*>/i", $html, $r, PREG_PATTERN_ORDER); for ($i = 0;$i < count($r[1]);$i++) { if (strtolower($r[1][$i]) == "keywords") $meta['keywords'] = $r[2][$i]; if (strtolower($r[1][$i]) == "description") $meta['description'] = $r[2][$i]; } return $meta; } // 测试 $r = curl_getkd('http://www.qq.com/'); echo '<pre>'; print_r($r); echo '</pre>'; // 输出 /** Array ( [keywords] => …… [description] => …… ) */ ?>

对付功效差异的编码还要举办转码处理惩罚,这就不多表明白。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/7861.html