在php

时间:2016-02-21 04:56:28

标签: php

我正在阅读有两个句子的php纺织品。

Top 1:201 The Secret

前4:203,290,593,224

多么生命!,神奇,独角兽之地,火

function getcontent($file1){
    $fh= fopen($file1, 'r');
    $theData = fread($fh, filesize("$file1"));
    return $theData;
    fclose($fh);
}
?>

我希望在回显文件时突出显示不同颜色的2个句子:

<div align="center"><h4 style="line-height:150%;"><?php echo "<pre>"  .$movies. "</pre>"; ?></h5></div>

$ movies是文本文件。我怎么能在PHP中这样做?我是否必须为此创建一个单独的函数?

2 个答案:

答案 0 :(得分:1)

您可以使用数组来存储不同的句子,因此新代码就是这样的。顺便说一句,返回语句之后的代码永远不会被执行,所以请避免使用

function getcontent($file1)
{
    $lines = file($file); //read all lines to array
    return $lines;
}
<div align="center">
    <h4 style="line-height:150%;">
        <?php
            //lines is the array returned from getcontent
            foreach($lines as $line)
            {
                echo "<pre>"  .$line. "</pre>"
            }
         ?>
    </h5>
</div>

之后你可以使用if子句来交换颜色,这样每行都有一个交替的颜色,或者你想要的颜色是随机颜色

答案 1 :(得分:1)

PHP file_get_contents功能是获取文件内容的更简单方法。

如果您的文件只有2行,则可能有更简单的方法,但您可以通过explode拆分行(有关可能有奇怪换行符的爆炸文本的详细信息,{{3 }}),看起来像这样:

$movies = file_get_contents("filename.txt");
$lines = explode("\n", $movies);

然后根据需要遍历线条和样式:

if (is_array($lines)) {
    $line_count = count($lines);
    for ($i = 0; $i <= $line_count; $i++) {
        if ($i % 2 == 0) {
            echo '<span style="color: red;">' . $lines[$i] . '</span><br>';
        }
        else {
            echo '<span style="color: blue;">' . $lines[$i] . '</span><br>';
        }
    }
}

如果文件中有超过2行,则可以对颜色线进行更详细的逻辑。

根据您的评论,以下代码将第一行显示为红色,其他所有行显示为蓝色:

if (is_array($lines)) {
    $line_count = count($lines);
    for ($i = 0; $i <= $line_count; $i++) {
        if ($i == 0) {
            echo '<span style="color: red;">' . $lines[$i] . '</span><br>';
        }
        else {
            echo '<span style="color: blue;">' . $lines[$i] . '</span><br>';
        }
    }
}