php echo文件网址使用标题标记

时间:2013-01-15 21:41:35

标签: php arrays shuffle

我有一个php脚本,它将回显文件夹中的文件列表,并在我的页面上随机显示它们。

目前它显示文件的网址,例如: what-c​​an-cause-tooth-decay.php

我希望它显示页面标题<title>What can cause tooth decay</title>

当前代码:

<?php 

if ($handle = opendir('health')) {
    $fileTab = array();
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") {
            $fileTab[] = $file; 
        }
    }
    closedir($handle);
    shuffle($fileTab);
    foreach($fileTab as $file) {
        $thelist .= '<p><a href="../health/'.$file.'">'.$file.'</a></p>';
    }
}
?>
<?=$thelist?>

非常感谢

1 个答案:

答案 0 :(得分:0)

我看到了几种可能的方法:

  • 您可以解析文件。应该可以通过对file_get_contents
  • 的结果运行正则表达式来实现
  • 在某处放置一些文本文件,将文件名映射到标题。将其加载到内存中并使用它来填充可用于映射文件名的数组。让它在每一行上都有file_name.html Title,或类似的东西。
  • 使用命名约定,因此可以从文件名中推断出标题。像“capizalize first letter,turn'_'into the space”
  • 之类的东西

第二种和第三种方法的缺点:您必须使其与文件中的实际title - 元素保持一致。第一种方法的问题:你必须将每个文件读入内存 - 可能是许多/大文件的性能问题。为了解决这个问题,我可以想象编写一个查看所有文件的脚本并生成查找文本文件。每当您更改文件中的标题或添加/删除文件时,您只需要重新运行该脚本。