1

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

4

3 に答える 3

2

したがって、内容が返されたときにテキスト ファイル内の改行を検索し、それらを < br > タグに置き換えて JSON に挿入する方法を探しています。


これが必要だと思います: http://php.net/manual/fr/function.nl2br.php

于 2013-04-17T09:46:15.203 に答える
1

改行文字を改行タグに変換する最も簡単な方法は、単に文字列を実行することですnl2br()

于 2013-04-17T09:47:19.400 に答える