我正在制作一个网页,在这个网页中,我必须在一个JSON变量($grav,包含JSON中的所有原始数据)中插入一个换行符或一个选项卡,在3种给定的情况下。之后,我强制将数据下载为xls文件。除了";preg_ replace";部分它找到分隔符,但不是插入一个";''n〃;或";''t〃;根据下载的xls文件,它只插入了一个空白(数据都在一个单元格中,而不是在多列和多行中(这就是为什么我需要换行符和制表符)。
$grav='"title":[{"field1":,"field3":,{"field4"}';
$grav = preg_replace("/'},'{/", "},'n{", $grav);
$grav = preg_replace("/'['{/", "'n[{", $grav);
$grav = preg_replace("/,'"/", ",'"'t", $grav);
header("Content-Description: File Transfer");
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename="data_ '. date("Ymd") . '_' . $id . '.xls"');
header("Content-Transfer-Encoding: binary");
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header("Content-Type: application/force-download");
header("Content-Type: application/download");
echo $grav;
我该怎么解决这个问题?
您正试图将json代码分解为3行?。任何我将如何给出一个想法来解决这个问题使用数组。尝试使用json进行转换。它可能会帮助你
<?php
$fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');// i used associate array which is similar to json data
reset($fruit);
while (list($key, $val) = each($fruit)) {
$grav .= $key."=>". $val."<br>";// brakes the line into 3
}
header("Content-Description: File Transfer");
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename="data_ '. date("Ymd") . '_' . $id . '.xls"');
header("Content-Transfer-Encoding: binary");
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header("Content-Type: application/force-download");
header("Content-Type: application/download");
echo $grav;
?>