回显所有页面,每个页面的标题都是目录/文件夹中的唯一标题


echo all pages with each pages unique title from directory/folder

我在主根目录中有一个文件夹,新闻。在该文件夹中,我有 10 个页面,每个页面都有一个唯一的页面标题:

/

news/today-is-cold-outside.php title = Today is cold

/

news/小心臭蛙.php标题=臭蟾蜍

我可以让下面的代码工作,以便它将获取每个页面并提供指向每个页面的链接,其中包含页面名称$file,例如:今天是冷的外面.php,而不是$title = 今天是冷的。

如何让页面显示每个链接$title的特定页面标题?

我知道我在下面列出了$file而不是$title链接,我把它留在那里,这样你可以看到我想在哪里显示标题,如果你测试它,它会显示它正在从目录/文件夹新闻中获取 $file=pages。

提前感谢,我已经为此工作了 2 天,找不到解决方案。

<?php
$handle = opendir('news');
$dom    = new DOMDocument();
while (false !== ($file = readdir($handle))){ 
$extension = strtolower(substr(strrchr($file, '.'), 1));
if ($extension == 'html' || $extension == 'htm' || $extension == 'php') {
    if($dom->loadHTMLFile($urlpage)) {
        $list = $dom->getElementsByTagName("title");
        if ($list->length > 0) {
            $title = $list->item(0)->textContent;
        }
    }
    echo "<a href='news/$file'>$file</a>";
} 
}
?>

尝试节点值

$title = $list->item(0)->nodeValue

改变

$dom->loadHTMLFile($file)

  echo "<a href='blog/$file'>$title</a>";

如果$file=今天外面很冷.php

你想$title=今天很冷

这样做:

$title = $file;
$title = str_replace('-',' ',$title);
$title = str_replace('.php','',$title);
echo $title;

这会将破折号转换为空格,并删除.php扩展名。

如果您喜欢我的答案,我还可以将每个单词从小写转换为大写,并根据需要将最大单词数限制为 3。

试试这个:

<?php
$handle = opendir('news');
$dom    = new DOMDocument();
while (false !== ($file = readdir($handle))){ 
$extension = strtolower(substr(strrchr($file, '.'), 1));
if ($extension == 'html' || $extension == 'htm' || $extension == 'php') {
    if($dom->loadHTMLFile($urlpage)) {
        $list = $dom->getElementsByTagName("title");
        if ($list->length > 0) {
            $title = $list->item(0)->textContent;
        }
    }
    $title = $file;
$title = str_replace('-',' ',$title);
$title = str_replace('.php','',$title);
echo '<a href="blog/'.$file.'">';
echo $title;
echo '</a>';
} 
}
?>

 <?php
 $handle = opendir('blog');
 $dom    = new DOMDocument();
 while (false !== ($file = readdir($handle))){
     $extension = strtolower(substr(strrchr($file, '.'), 1));
     if ($extension == 'html' || $extension == 'htm' || $extension == 'php') {
        if($dom->loadHTMLFile('blog/'.$file)) {
           $list = $dom->getElementsByTagName("title");
           if ($list->length > 0) {
              $title = $list->item(0)->textContent;
           }
     }
     echo "<a href='blog/$file'>$title</a><br/>";
 }
}
?>
<?php 
$title = $file;
$title = str_replace('-',' ',$title);
$title = str_replace('.php','',$title);
echo '<a href="blog/'.$file.'">';
echo $title;
echo '</a>'; ?>
<?php
$handle = opendir('news');
$dom    = new DOMDocument();
$title = '';
while (false !== ($file = readdir($handle))){ 
$extension = strtolower(substr(strrchr($file, '.'), 1));
if ($extension == 'html' || $extension == 'htm' || $extension == 'php') {
    if($dom->loadHTMLFile('news/'.$file)) {
        $list = $dom->getElementsByTagName("title");
        if ($list->length > 0) {
            $title = $list->item(0)->textContent;
        }
    }
    echo "<a href='news/$file'>$file</a>";
    echo $title;
} 
}
?>

我的目录名称是"新闻">

 <?php
 $handle = opendir('news');
 $dom    = new DOMDocument();
 while (false !== ($file = readdir($handle))){
     $extension = strtolower(substr(strrchr($file, '.'), 1));
     if ($extension == 'html' || $extension == 'htm' || $extension == 'php') {
        if($dom->loadHTMLFile('news/'.$file)) {
           $list = $dom->getElementsByTagName("title");
           if ($list->length > 0) {
              $title = $list->item(0)->textContent;
           }
     }
     echo "<a href='news/$file'>$title</a><br/>";
 }
}
?>