2017-09-15 136 views
1

我想弄清楚如何使用HEREDOC語法來解釋變量,但忽略反斜槓字符。或者使用NOWDOC語法來允許解釋變量。什麼我試圖做一個例子:解釋變量,但忽略PHP中的轉義序列HEREDOC

$title = "My title here"; 
$date = "Aug 12, 2017"; 

$latex_code = <<<LCODE 
    \documentclass{article} 

    \usepackage{graphicx} 

    \pagestyle{head} 
    \firstpageheader{ 
     $title 
     $date 
    } 
LCODE; 

file_put_contents("article.tex", $latex_code); 

我想忽略所有的斜線,但解釋變量$ title和$日期。有沒有辦法做到這一點,而不退出HEREDOC或NOWDOC塊?

+0

你能逃脫嗎?實際上,「忽略」反斜槓是什麼意思?從字面上解釋它,還是根本不包含它? –

+0

我不確定花括號內的2個變量將被翻譯。建議使用自己的一對大括號翻譯的變量.. \ firstpageheader {$ title} {$ date} LCODE; –

+0

@ Don'tPanic我試圖完全按照原樣將這些全部導出到文本文件,但是解釋了變量。我更新了我的問題,用file_put_contents行來表示這一點。 – kojow7

回答

3

由於誤解了預期輸出的風險,我認爲你可以避開反斜槓。 (我假設你想在輸出中包含的單反斜線。)

$title = "My title here"; 
$date = "Aug 12, 2017"; 

$latex_code = <<<LCODE 
    \\documentclass{article} 

    \\usepackage{graphicx} 

    \\pagestyle{head} 
    \\firstpageheader{ 
     $title 
     $date 
    } 
LCODE; 

顯然,如果你不這樣做,有些人(如\f)將是escape sequences會解釋。