php获取元数据

时间:2011-03-14 08:34:53

标签: php metadata

我正在尝试使用以下代码提取网站的元数据 我已经改变了我的代码

<?php
error_reporting(E_ALL);
$domain='http://www.yahoo.com';
?>

<h3>Reading the meta-data tags of website: <?php echo $domain; ?></h3>

<?php 

  echo 'Read META info<br>';
  $tags = get_meta_tags($domain);

  echo 'Check the result and display it.<br>';

  if(isset($tags))
      echo 'Tags is set';

  if (sizeof($tags) == 0){
    echo '<tr><td>No META information was found!</td></tr>';
  }
  else
  {
  echo 'Metadata found !!';
  print_r($tags);
  }

?>

但我没有得到任何结果。我正在运行本地WAMP服务器的这个脚本。我哪里错了?只是想找到关于页面的非常基本的信息。

这是我得到的结果 “阅读网站的元数据标签:http://www.yahoo.com 阅读META信息 检查结果并显示它。 标签是setMetadata !!“

但没有来自print_r($ tags)的输出

3 个答案:

答案 0 :(得分:1)

对我来说它运作正常。也许你没有启用卷曲?你能告诉我们你的phpinfo输出吗?

只需使用以下代码创建phpinfo.php文件:

<?php
phpinfo();
?>

如果没有关于curl的消息,你需要打开你的php.ini文件,找到;extension=php_curl.dll行并取消注释(通过删除; char)

然后重启你的apache

答案 1 :(得分:0)

应该可以正常工作,尝试使用print_r($tags)逐行调试。 无论如何,如果它读得很好,那么你应该能够获得这样的关键字:

$kws = explode(",",$meta['keywords']);
for ($i=0;$i<count($kws);$i++)
{
    $kws[$i] = ltrim($kws[$i]);
    $kws[$i] = rtrim($kws[$i]);
    echo($kws[$i]);
}

答案 2 :(得分:0)

对于yahoo.com和google.com,您将无法获得任何元标记。我也试过,但我不知道为什么,可能这个网站作为搜索引擎。

<?php
 $tags = get_meta_tags('http://sitename.com/');

 echo $tags['keywords'];    
 echo $tags['description'];  
?>

此代码适用于提及元标记的其他网站。