国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

PHP實作CSV檔案中佔位符替換為實際值
P粉520204081
P粉520204081 2023-09-16 11:51:32
0
1
1158

我有一個模板CSV文件,其中包含像{$NAME}這樣的佔位符 現(xiàn)在我想用實際值替換所有這些佔位符。

我正在使用Laravel,但這並不重要。

目前的做法如下:

$templateCSV = Storage::get('quote.intake.form.template.csv'); // 讀取文件內(nèi)容
 
$vars = [ // 定義占位符和實際值
   '{$AGENT_NAME}'  => $agent['name'],
   '{$AGENT_PHONE}'  => $agent['phone'],
];

$newCSV = strtr($templateCSV, $vars); // 最后替換這些占位符。

Storage::put("my-new-csv.csv", $newCSV); // 保存新的CSV文件

這樣做是有效的,但我認為這不是正確的方法,因為當一個值包含“,”時,它會破壞CSV結(jié)構(gòu)。

我相信一定有更好的方法來做這件事。

非常感謝您的幫忙。

P粉520204081
P粉520204081

全部回覆(1)
P粉652495194

您可以用雙引號包裹值,但這表示您需要在值內(nèi)部轉(zhuǎn)義雙引號:

$sanitiseCsv = fn ($value) => '"'.str_replace('"', '""', $value).'"';

$vars = [ // 使用實際值定義占位符
   '{$AGENT_NAME}'  => $sanitiseCsv($agent['name']),
   '{$AGENT_PHONE}'  => $sanitiseCsv($agent['phone']),
];

注意:在雙引號包裹的CSV值中,雙倍雙引號似乎是正確的轉(zhuǎn)義雙引號的方式。

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板