-1

我有一个代码可以正常工作,除了 1 个问题。

您可以在此处http://test.whatanswered.com/health/what-c​​an-a-first-aider-do.php看到显示死链接的“相关文章”右下方的结果。

以下是应显示的 HTML。

<p><a href="../health/name-of-the-page.php">Name of the page</a></p>

我想像上面的“页面名称”一样去除破折号和 php,但它也会从 url 中去除破折号和 php。

代码是:

<?php 

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

1 回答 1

1

我已经稍微重构了您的代码 -$fileTab数组现在只存储文件名并将其转换为标题发生在显示点:

if ($handle = opendir('health')) {
    $fileTab = array();
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") {
            $fileTab[] = $file;
        }
    }
    closedir($handle);
    shuffle($fileTab);

    foreach(array_slice($fileTab, 0, 10) as $file) {
        $title = str_replace('-', ' ', pathinfo($file, PATHINFO_FILENAME));
        $thelist .= '<p><a href="../health/'.$file.'">'.$title.'</a></p>';
    }
}
于 2013-01-20T00:03:58.847 回答