我正在使用一些PHP代码将文本文件导入HTML文档。原因是因为我经常刷新页面,所以文本总是新的。这是我的代码:
<!DOCTYPE html>
<head>
<meta http-equiv="refresh" content="5">
</head>
<body>
<xmp>
<?php
$date = date("Y-m-d");
$file = "..\\chat logs\\$date.txt";
readfile($file);
?>
</xmp>
</body>
</html>
$ date.txt文件没有特殊的间距。没有缩进。问题是第一行总是有这个输出:
[ 00:57:45 ] : <Overlord> Enemy spotted
[ 01:00:51 ] : <ShadowLordGamin> HI
[ 01:00:58 ] : <ShadowLordGamin> just got the game today :D
[ 01:06:42 ] : <Brazdnt> D:
有没有办法删除初始缩进?任何帮助,将不胜感激。感谢。
答案 0 :(得分:1)
首先,<xmp>
已被弃用且受到严重支持。您应该使用<pre>
而使用htmlspecialchars()
转义文本(这要求您使用file_get_contents()
而非readfile()
来阅读文字。
(编辑:它不仅被弃用,它也很危险,因为它会打开您的站点以进行跨站点脚本攻击。)
解决您的问题:<xmp>
(和<pre>
)显示开始和结束标记之间的所有字符,包括用于格式化代码的任何空格。您需要确保html开始标记与<?php
开头标记之间没有空格:
<pre><?php
$date = date("Y-m-d");
$file = "..\\chat logs\\$date.txt";
echo htmlspecialchars(file_get_contents($file));
?></pre>