当我写入“Text.csv”字符串时:'my name is "Robert"',添加到 Text.csv 的字符串如下所示:my name is /"Robert/" '。
在我的代码中,在写入 csv 文件之前,$_POST var 正在使用 php 函数 htmlspecialchars() 进行转义。但仍然显示斜线。
问题可能是什么?
从 Text.csv 部分读取:
$myFile = "Text.csv";
$fh = fopen($myFile, 'r') or die("can't open file");
for ($i=0 ; $i<5 ; $i++)
{
$line=fgets($fh);
if ($line)
{
$line_of_text = explode(",", $line);
echo htmlspecialchars($line_of_text[0]).'<br />';
echo htmlspecialchars($line_of_text[1]).'<br />';
echo htmlspecialchars($line_of_text[2]).'<br />';
echo htmlspecialchars($line_of_text[3]).'<br />';
echo htmlspecialchars($line_of_text[4]).'<br />';
} } fclose($fh);
写入 Text.csv 部分:
header('Content-type: text/html; charset=UTF-8');
$myFile = "Text.csv";
$fh = fopen($myFile, 'w') or die("can't open file");
for ($i=1 ; $i<26 ; $i++)
{
$str='l'.intval(($i-1)/5).'f'.(($i-1)%5);
if (($i%5)==0)
{
$stringData = $_POST[$str].PHP_EOL;
fwrite($fh, htmlspecialchars($stringData));
}
Else
{
$stringData = $_POST[$str].",";
fwrite($fh, $stringData);
}
}
fclose($fh);