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 ではありません。