无法使用get_meta_tags()从网站中提取meta关键字值

时间:2011-04-02 11:51:05

标签: php

例如

$all_meta=get_meta_tags($website_name);
$keyword_meta=$all_meta['keywords'];
print_r($all_meta);

print_r($all_meta)仅返回包含“关键字”字样的网页中的关键字...但很少有网页包含“关键字”中的元信息...您能否告诉我如何提取独立的关键字案件?


以网站为例 - “http://www.microsoft.com”

$ all_meta = get_meta_tags( “www.microsoft.com”); $ keyword_meta = $ all_meta [ '关键字'];
$ keyword_meta1 = $ all_meta [ '关键字'];

的print_r($ keyword_meta); //显示错误

的print_r($ keyword_meta1); / *显示Microsoft,产品,支持,帮助,*培训,Office,Windows,软件,下载,试用,预览,演示,业务,安全性,*更新,免费,计算机,PC,服务器,搜索,下载,安装,新闻 * /

那么如何让它运行不区分大小写的键 - '关键字'或'关键字'??

3 个答案:

答案 0 :(得分:3)

我不确定你在谈论什么,因为从get_meta_tags返回的数组中的'keywords'索引与你描述的方式不区分大小写。

因此,所提供的任何关键字信息都将在此元素中提供。

e.g。如果您查看Microsoft.com的来源,您会看到......

<meta name="Keywords" content="Microsoft, product, support, help, training, Office, Windows, software, download, trial, preview, demo,  business, security, update, free, computer, PC, server, search, download, install, news" scheme="" />

......如果你跑...

<?php
    $sourceURL = 'http://www.microsoft.com';
    $metaData = get_meta_tags($sourceURL);

    var_dump($metaData);
?>

...'keywords'元素包含...

  

[ “关键字”] =&GT;串(192)   “微软,产品,支持,帮助,   培训,办公室,Windows,软件,   下载,试用,预览,演示,   商业,安全,更新,免费,   电脑,电脑,服务器,搜索,   下载,安装,新闻“

因此,get_meta_tags等正在做正确的事情,页面中的任何关键字将始终在'keywords'元素中可用。

<强>更新

如果您尝试将元关键字字符串中的每个关键字都放入数组中,则可以使用:

<?php
    $sourceURL = 'http://www.microsoft.com';
    $metaData = get_meta_tags($sourceURL);
    $keywords = explode(',', $metaData['keywords']);

    // Trim un-necessary leading/trailing spaces
    foreach($keywords as &$keyword) {
        $keyword = strtolower(trim($keyword));
    }

    var_dump($keywords);
?>

如果您不希望关键字较低,请简单地从上面删除strtolower来电。

答案 1 :(得分:1)

您可以在搜索之前将所有键设为小写:

array_change_key_case($all_meta, CASE_LOWER));

答案 2 :(得分:0)

$keyword_meta = array_keys( $all_meta );

http://us2.php.net/manual/en/function.array-keys.php