当我在php程序中将字符串写入文本文件“ words.txt”时,换行符(\n
,<br>
)不起作用,并且从文件中读取的所有内容都会出现在一行上。
我尝试使用<br />
,/n
,\n
,<br>
。我尝试将它们放在不同的位置(我在哪里写文件,在哪里我看文件)。
<!DOCTYPE html>
<html>
<head>
<title>Glossary</title>
</head>
<body>
<form action="index.php" method="post">
<input type="text" name="word">
<input type="submit" value="submit">
</form>
</body>
</html>
<?php
$word = $_POST['word'];
$outPutString = $word.'<br>';
$fp = fopen('words.txt', ab);
flock($fp, LOCK_EX);
fwrite($fp, htmlspecialchars($outPutString), strlen(outPutString));
flock($fp, LOCK_UN);
fclose($fp);
?>
<?php
$fo = fopen('words.txt', rb);
flock($fo, LOCK_SH);
while(!feof($fo)) {
$words = fgets($fo);
if(!feof(fo)){
echo htmlspecialchars($words)."<br />";
}
}
flock($fo, LOCK_UN);
fclose($fo);
?>
答案 0 :(得分:4)
您要保存到文本文件,因此它无法呈现HTML或JavaScript。如果要查看换行符,请尝试使用“ html”进行保存。
<?php
$word = $_POST['word'];
$outPutString = $word.'<br>';
$fp = fopen('words.**html**', ab);
flock($fp, LOCK_EX);
fwrite($fp, htmlspecialchars($outPutString), strlen(outPutString));
flock($fp, LOCK_UN);
fclose($fp);
?>
<?php
$fo = fopen('words.**html**', rb);
flock($fo, LOCK_SH);
while(!feof($fo)) {
$words = fgets($fo);
if(!feof(fo)){
echo htmlspecialchars($words)."<br />";
}
}
flock($fo, LOCK_UN);
fclose($fo);
?>