PHP - 以颜色回显变量

时间:2014-03-22 12:35:01

标签: php

我可能已经猜到了,我是学习PHP的新手。我有一个.txt文件的内容回显但我希望它更突出,所以我想我会把它变成另一种颜色。

我的代码没有颜色:

<?php
$file = fopen("instructions.txt", "r") or exit("Unable to open file");
while(!feof($file))
{
echo  fgets($file);
}
fclose($file);
?>

我已经研究了这个,并看到了其他人使用div风格的建议,但是这对我没有用,它在页面上给了我红色错误!我认为这是因为我正在使用&#39; fgets&#39;不只是一个变量?有没有办法为回声红色着色?

我尝试的代码但不起作用:

echo "<div style=\"color: red;\">fgets($file)</div>";

5 个答案:

答案 0 :(得分:3)

(一般情况下)您需要将实际的PHP代码与字符串的文字部分分开。一种方法是使用字符串连接运算符.。 E.g。

echo "<div style=\"color: red;\">" . fgets($file) . "</div>";

String Operators

答案 1 :(得分:0)

其他答案已经告诉您不能在双引号字符串中使用函数调用。另外要提到的是,对于仅格式化任务,<span>元素比<div>元素更适合。

像这样:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/span

答案 2 :(得分:0)

你应该尝试:

<div style="color: red;"><?= fgets($file);?></div>

注意: <?=<?php echo fgets($file);?>的简便方法

答案 3 :(得分:0)

此版本无需转义双引号:

echo '<div style="color:red;">' . fgets($file) . '</div>';

答案 4 :(得分:0)

您可以使用连接运算符.执行此操作,如上所述,但IMO使用sprintf更清晰,如下所示:

echo sprintf("<div style='color: red;'>%s</div>", fgets($file));

如果您有两组要在不同位置插入字符串的文本,则此方法会自行进入,例如:

echo sprintf("<div style='color: red;'>%s</div><div style='color: blue;'>%s</div>", fgets($file), fgets($file2));