我正在阅读有两个句子的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中这样做?我是否必须为此创建一个单独的函数?
答案 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>';
}
}
}