我正在使用一些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: 有没有办法去掉最初的缩进?任何帮助都将不胜感激。谢谢。
发布于 2016-01-28 16:53:34
首先,<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>https://stackoverflow.com/questions/35031108
复制相似问题