0

我有一个具有 textarea 表单的 html 页面,当用户键入该 textarea 并按下提交时,php 将该 textarea 的内容写入 txt 文件。

当我在 textarea 中插入这样的内容时

line1 what's up
line2
line3

它最终像这样写入txt文件

line1 what\'s up

line2

line3

带有额外的空格和额外的斜线。我怎样才能解决这个问题?这是php

$myFile = "all.txt";
$fh = fopen($myFile, 'a') or die("can't open file");

$stringData = $content."\n";
fwrite($fh, $stringData);
fclose($fh);
4

3 回答 3

1

如果您从文本框中检索数据,则数据实际上看起来像

line1 what's up\r\n
line2\r\n
line3

所以\n在最后添加一个额外的将添加一个额外的行。

至于\'这通常发生在启用了magic_quotes 的情况下。在您的网站中快速搜索“magic_quotes”phpinfo()会让您知道它是否已打开。

于 2012-11-09T20:48:28.140 回答
1

额外的换行符可能是由于正在写入文件的内容和正在读取文件的内容之间的行尾不同造成的。

也许你可以用它"\n"来结束你的台词。

单引号的额外转义序列是魔术引号。

考虑这段代码:

<?php 

ini_set('magic_quotes_gpc', 'off');
$content = str_replace("\r\n", "\n");

或者,您可以使用PHP_EOL与主机操作系统的行尾匹配的常量。

于 2012-11-09T20:54:30.717 回答
0

你已经启用了magic_quotes 。禁用它,和/或升级到更新的 PHP。magic_quotes 是魔鬼,而且更邪恶。

于 2012-11-09T20:47:35.960 回答