我正在尝试使用 PHP 读取一个 txt 文件,然后将该文本文件的内容回显为 JSON 格式,以通过 AJAX 请求发回。当 txt 文件不包含换行符/段落时,这对我来说很好,但在有的时候不行。
因此,我正在寻找一种方法来在返回文本文件的内容时在文本文件中搜索换行符,并将它们替换为 <br> 标记以插入 JSON。
目前我的代码看起来像这样......
$jsonFile = '{';
$projectName = $_POST["project"];
//directories
$videoDir = $_SERVER['DOCUMENT_ROOT'].'/malagnini/projects/'.$projectName.'/video/';
$audioDir = $_SERVER['DOCUMENT_ROOT'].'/malagnini/projects/'.$projectName.'/audio/';
$textData = file_get_contents($_SERVER['DOCUMENT_ROOT'].'/malagnini/projects/'.$projectName.'/description.txt', true);
//add text data to JSON
$jsonFile .= '"text":"'.$textData.'",';
//add video paths to JSON
$j = 1;
if ($dirHandle = opendir($videoDir) ){
while (($file = readdir($dirHandle)) !== FALSE){
if (!is_dir($file)){
$jsonFile .= '"video'.$j.'":"'.$file.'",';
$j++;
}
}
};
//add audio paths to JSON
$jsonFile .= '"audio": {';
$i = 1;
if ($dirHandle = opendir($audioDir) ){
while (($track = readdir($dirHandle)) !== FALSE){
if (!is_dir($track)){
$jsonFile .= '"track'.$i.'":"'.$track.'",';
$i++;
}
}
};
//echo JSON
$jsonFile = chop($jsonFile, ",");
$jsonFile .= '} }';
echo $jsonFile;
所以文本数据是通过 var &textData 读入的,但是当它输出到 JSON 时,当 txt 文件中有换行符时,它不是有效的 JSON。