2017-09-15 134 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会解释。