Ich habe eine CSV-Vorlagendatei, die Platzhalter wie {$NAME}
enthält
Jetzt möchte ich alle diese Platzhalter durch tatsächliche Werte ersetzen.
Ich verwende Laravel, aber das spielt keine Rolle.
Die aktuelle Praxis ist wie folgt:
$templateCSV = Storage::get('quote.intake.form.template.csv'); // 读取文件内容 $vars = [ // 定义占位符和实际值 '{$AGENT_NAME}' => $agent['name'], '{$AGENT_PHONE}' => $agent['phone'], ]; $newCSV = strtr($templateCSV, $vars); // 最后替换这些占位符。 Storage::put("my-new-csv.csv", $newCSV); // 保存新的CSV文件
Das funktioniert, aber ich glaube nicht, dass es der richtige Weg ist, weil es die CSV-Struktur zerstört, wenn ein Wert "," enthält.
Ich bin mir sicher, dass es dafür einen besseren Weg geben muss.
Vielen Dank für Ihre Hilfe.
您可以用双引号包裹值,但这意味着您需要在值内部转义双引号:
注意:在双引号包裹的CSV值中,双倍双引号似乎是正确的转义双引号的方式。