PHP 多行字串 → JavaScript 變數,保留換行:
$a = <<方案一:JSON 中轉(繞但通用)
// PHP 爆炸陣列 → JSON → JS parse → join var b = JSON.parse('').join('\n');方案二:隱藏 input 中轉
<input type="hidden" id="testphp" value="" />方案三:直接字串替換(最簡潔)
var d = ''; // 結果: 'thy38\n csdn\n blog'核心差異
方案 複雜度 安全性 適用場景 JSON 中轉 高 高 (自動轉義) 複雜資料結構 Hidden Input 中 中 (需 htmlspecialchars) 模板分離場景 直接替換 低 需手動 addslashes 單純字串傳遞 最佳實踐建議
// PHP 端統一處理函數 function js_string(string $str): string { return str_replace(["\r\n", "\n", "\r"], ["\\n", "\\n", "\\n"], addslashes($str)); } // 使用 var jsVar = '';