Php 使最新的新闻过时

Php 使最新的新闻过时,php,Php,所以我想出了这个,这是一个新闻剧本。 这些文件的名字中有[27.11.13]一条突发新闻!作为日期,rsort将对它们进行反向排序,以保持最新的一个。 但是,问题是,我怎样才能让最后一个最新的也有一个粗体的标签呢?我真的想给它添加一些效果,所以把它加粗只是一个例子,我需要的只是方向 <?php $files = array(); if($handle = opendir( 'includes/news' )) { while( $file = readdir( $handle ))

所以我想出了这个,这是一个新闻剧本。 这些文件的名字中有[27.11.13]一条突发新闻!作为日期,rsort将对它们进行反向排序,以保持最新的一个。 但是,问题是,我怎样才能让最后一个最新的也有一个粗体的标签呢?我真的想给它添加一些效果,所以把它加粗只是一个例子,我需要的只是方向

<?php
$files = array();
if($handle = opendir( 'includes/news' )) {
    while( $file = readdir( $handle )) {
        if ($file != '.' && $file != '..') {
            // let's check for txt extension
            $extension = substr($file, -3);
            // filename without '.txt'
            $filename = substr($file, 0, -4);
            if ($extension == 'txt')
                $files[] = $filename; // or $filename
        }
    }
    closedir($handle);
}
rsort($files);
foreach ($files as $file)
    echo '<h2><a href="?module=news&read=' . $file 
        . '">&raquo; ' . $file . "</a></h2>";
}
?>

假设最后一个是DOM中自上而下列出的第一个,您可以使用CSS:

h2:first-child {
   font-weight: bold;
}
或者我可能会做什么,因为可能会有多个新的设置为h2的新类:

$todaysDate = date("d.m.y");
foreach ($files as $file) {
    $fileDate = substr($file,1,8);
    if ($todaysDate == $fileDate) {
       $today = true;
    }
    echo '<h2 class="news'.($today ? ' today' : '').'"><a href="?module=news&read=' . $file 
        . '">&raquo; ' . $file . "</a></h2>";
}
请注意,在您根据其他条件更改$new变量之前,第二个选项将全部显示为粗体。您可能需要按日期或其他方式进行检查

编辑:

您还可以使用for循环:

for ($count = 0; $count < count($files); $count++) {
    echo '<h2 class="news'.($count === 0 ? ' latest' : '').'"><a href="?module=news&read=' . $files[$count] 
        . '">&raquo; ' . $files[$count] . "</a></h2>";
}

对$files中的项进行计数,然后在循环遍历时对照返回数组的键值进行检查。如果项目到达最后一个关键点?大胆一点

<?php
$files = array();
if($handle = opendir( 'includes/news' )) {
    while( $file = readdir( $handle )) {
        if ($file != '.' && $file != '..') {
            // let's check for txt extension
            $extension = substr($file, -3);
            // filename without '.txt'
            $filename = substr($file, 0, -4);
            if ($extension == 'txt')
                $files[] = $filename; // or $filename
        }
    }
    closedir($handle);
}
rsort($files);
$last_key = count($files - 1);
foreach ($files as $file_key => $file_value)
    $file_final = '<a href="?module=news&read=' . $file . '">&raquo; ' . $file . '</a>';
    if ($file_key == $last_key) {
       $file_final = '<b>' . $file_final . '</b>';
    }
    echo '<h2>'
       . $file_final
       . '</h2>'
       ;
}
?>

你为什么不直接使用CSS最后一个孩子/第一个孩子选择器呢?从没听说过,请告诉我更多?可以用于将粗体添加到列表中的第一个新闻项,而不是通过PHP手动为第一个新闻项生成不同的输出。我在哪里添加它?对不起,你熟悉吗?h2。新闻:第一个孩子{font size:17px;}我怎么做?我想用class=news来指定,这样它就不会干扰pagelike,TAG,class:firs child中的其他标记。如何正确设置它?Sorry如果类位于标记上,则其标记为。类:第一个子项{font size:17px;}。确保你没有空间。如果这是在你的HTML中,确保你有CSS在这里,或者有一个外部CSS文件,使用链接标签。$title这是调用,这是CSS:h2。新闻:第一个孩子{font size:17px;}但它不会改变它,为什么?必须看一个例子。除非您使用的是旧浏览器,否则应该可以使用。您使用的浏览器和版本是什么?我猜这就是你如何实现它的。
for ($count = 0; $count < count($files); $count++) {
    echo '<h2 class="news'.($count === 0 ? ' latest' : '').'"><a href="?module=news&read=' . $files[$count] 
        . '">&raquo; ' . $files[$count] . "</a></h2>";
}
<?php
$files = array();
if($handle = opendir( 'includes/news' )) {
    while( $file = readdir( $handle )) {
        if ($file != '.' && $file != '..') {
            // let's check for txt extension
            $extension = substr($file, -3);
            // filename without '.txt'
            $filename = substr($file, 0, -4);
            if ($extension == 'txt')
                $files[] = $filename; // or $filename
        }
    }
    closedir($handle);
}
rsort($files);
$last_key = count($files - 1);
foreach ($files as $file_key => $file_value)
    $file_final = '<a href="?module=news&read=' . $file . '">&raquo; ' . $file . '</a>';
    if ($file_key == $last_key) {
       $file_final = '<b>' . $file_final . '</b>';
    }
    echo '<h2>'
       . $file_final
       . '</h2>'
       ;
}
?>