使用php从php文件中读取元数据

时间:2012-08-25 08:48:47

标签: php blogs yaml octopress

在浏览php中的octopress并找不到任何东西之后,我决定在php中自己创建一些可以解决这个问题的东西。

我想首先在php中编写一些代码来读取php文件并从中提取元数据,这样我就可以构建一个博客文章的存档页面等。

我以为我可以创建yaml文件,并在这些文件中包含php / html作为博客文章的主要内容,但我不清楚这是否可行?谷歌搜索“在yaml使用PHP”并没有真正让我更进一步。

所以我想我会问这样做的最佳方法是什么。

有人可以帮忙吗?

由于 乙

2 个答案:

答案 0 :(得分:1)

我不熟悉yaml - 你能简单地使用PHP的get meta tags吗?

<?php
// Assuming the above tags are at www.example.com
$tags = get_meta_tags('http://www.example.com/');

// Notice how the keys are all lowercase now, and
// how . was replaced by _ in the key.
echo $tags['author'];       // name
echo $tags['keywords'];     // php documentation
echo $tags['description'];  // a php manual
echo $tags['geo_position']; // 49.33;-86.59
var_dump($tags);// See any and all meta tags that have been picked up.
?>

编辑:我添加了var_dump,因此您可以看到所有您获得的标记。在你想要点击的页面上测试它。

答案 1 :(得分:0)

<?php
header('Content-Type:text/html; charset=utf-8');
$tags = get_meta_tags('http://www.narenji.ir'); 
var_dump($tags);
?>

Output is
array
  'keywords' => string 'اخبار, تکنولوژی, نارنجی, گجت, فناوری, موبایل, خبر, تبلت, لپ تاپ, کامپیوتر, ربات, مانیتور, سه بعدی, تلویزیون' (length=186)
  'description' => string 'مکانی برای آشنایی با ابزارها و اخبار داغ دنیای فناوری' (length=97)

或者您可以使用以下代码

<?php
$url = 'http://www.example.com/';

if (!$fp = fopen($url, 'r')) {
    trigger_error("Unable to open URL ($url)", E_USER_ERROR);
}

$meta = stream_get_meta_data($fp);

print_r($meta);

fclose($fp);
?>

如果您的源文件是图片,那么您可以尝试使用它

<?php
echo "test1.jpg:<br />\n";
$exif = exif_read_data('tests/test1.jpg', 'IFD0');
echo $exif===false ? "No header data found.<br />\n" : "Image contains headers<br />\n";

$exif = exif_read_data('tests/test2.jpg', 0, true);
echo "test2.jpg:<br />\n";
foreach ($exif as $key => $section) {
    foreach ($section as $name => $val) {
        echo "$key.$name: $val<br />\n";
    }
}
?>