【发布时间】:2013-06-17 15:12:20
【问题描述】:
我正在尝试从 php 中的 txt 文件中读取。我能够打开文件并逐行正确显示,但我想根据第一个单词做出决定。例如,如果在文本文件中该行以:
Something1:这是一个测试
它会输出那个字符串,但“Something1:”会是粗体并且颜色不同
Something2:这是一个测试2
这也是粗体和颜色。所以可以说我希望所有标记为“Something1:”的内容都以粗体和红色输出,但我希望所有“Something2:”都以粗体和绿色输出。有没有办法做到这一点。
$file = fopen($message_dir, "a+") or exit("Unable to open file!");
//Output a line of the file until the end is reached
while (!feof($file))
{
if (strpos(fgets($file), "Something1") == 0)
{
echo "<font color='#686868'><b>".fgets($file)."</b></font><hr />"."<br />";
}
else
{
echo "<font color='#fc0c87'><b>".fgets($file)."</b></font><hr />"."<br />";
}
}
fclose($file);
这是我前进的方向,但我确信有一种更简单更有效的方法。首先,这将整个句子加粗并着色,其次,我认为 fgets 自动递增或其他什么,因为它正确执行了 if 语句,但随后它打印下一行而不是它为其执行 if 语句的行。但这是我的第一个想法,检查单词是否位于字符串的位置 0。
【问题讨论】:
-
为什么要以附加模式打开文件?您可以使用
'r'作为模式。 -
btw 文件中有多少行?很多吗?