我有一个与fputcsv的csv文件形式的字符串相关联的变量$ string。 $ strin变量如下所示:
$string='Epitope/Cluster,"Epitope ID" LEYIPEITLPVIAALSIAES,"35768,28983,35767" NILMQYIKANSKFIGITELK,"52929,27213,44284,52930" DIIDDFTNESSQKTTIDKIS,8659 LINSTKIYSYFPSVISKVNQ,"36647,31484" ILFLQWVRDIIDDFTNESSQ,"27043,79996"';
我正在尝试将此字符串传递给另一个名为csv_file.php的php文件。我正在使用的是:
echo'<form method="POST" action="csv_file.php">';
echo'<input type="hidden" name="csv_content" value='.$string.'>';
echo'<input type="submit" value="Download">';
echo'</form>';
但是当我使用:
在其他php页面中打印变量时$csv_content = $_POST['csv_content'];
print($csv_content);
我总是把字符串打印到它的第一个空白区域,所以打印出来:
Epitope/Cluster,Epitope
您知道如何纠正这个问题吗? 谢谢
答案 0 :(得分:0)
首先,使用html实体转义$string
中的双引号。然后,用双引号括起字符串:
$string = str_replace('"', '"', $string);
echo '<input type="hidden" name="csv_content" value="'.$string.'">';
答案 1 :(得分:0)
要在您的值属性中使用"
,您应该正确使用'
。
目前,'
只打破了PHP字符串。
更好:
echo '<input type="hidden" name="csv_content" value=\''.$string.'\'>';
它可能不是最美丽的解决方案,但它不应该打破你的格式。
答案 2 :(得分:-1)
问题是您的值不是在标记中封装的字符串。
value='.$string.'
更改此
value="'.$string.'"